diff --git a/.github/comment.yml b/.github/comment.yml
index 19081387c36e..f52e39452a82 100644
--- a/.github/comment.yml
+++ b/.github/comment.yml
@@ -50,6 +50,11 @@
- "I have reviewed the [documentation](https://aka.ms/ameonboard) for the workflow."
onOpenedComments: "Hi, @${PRAuthor} Thanks for your PR. I am workflow bot for review process. Here are some small tips.
Please ensure to do self-check against checklists in first PR comment. PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging. For specs comparison cross API versions, Use [API Specs Comparison Report Generator](${openapiHub}/tools/diff?pr=${owner}/${repo}/${PRNumber}) If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. [How to fix?](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/ci-fix.md) Any feedback about review process or workflow bot, pls contact swagger and tools team. vsswagger@microsoft.com"
+- rule:
+ type: PROpen
+ onOpenedComments: "[Call for Action] To better understand Azure service dev/test scenario, and support Azure service developer better on Swagger and REST API related tests in early phase, please help to fill in with this survey https://aka.ms/SurveyForEarlyPhase. It will take 5 to 10 minutes. If you already complete survey, please neglect this comment. Thanks."
+
+
- rule:
type: checkbox
keywords:
diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml
index c9ee708757fe..c39e68f5e636 100644
--- a/.github/pull_request_assignment.yml
+++ b/.github/pull_request_assignment.yml
@@ -7,6 +7,12 @@
- kristapratico
- maririos
+- rule:
+ paths:
+ - "specification/confidentialledger/data-plane/**"
+ reviewers:
+ - christothes
+
- rule:
# eventgrid data-plane PR
paths:
@@ -21,6 +27,13 @@
reviewers:
- lmazuel
+- rule:
+ # data-plane PR
+ paths:
+ - "specification/**/data-plane/iot**"
+ reviewers:
+ - drwill-ms
+
- rule:
# data-plane PR
paths:
@@ -29,7 +42,6 @@
- anuchandy
- jhendrixMSFT
- tjprescott
-
- rule:
paths:
@@ -158,6 +170,12 @@
- "specification/servicelinker/**"
reviewers:
- raych1
+
+- rule:
+ paths:
+ - "specification/keyvault/**"
+ reviewers:
+ - zhenglaizhang
- rule:
paths:
diff --git a/CODEOWNERS b/CODEOWNERS
index 5ab6a6b48a41..6c01da6ca27e 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -2,7 +2,8 @@
/specification/analysisservices/ @taiwu
/specification/alertsmanagement/ @ofirmanor @olalavi @erangon @orieldar @ilaizi @shakednai1 @khaboasb @orenhor
/specification/apimanagement/ @promoisha @solankisamir
-/specification/applicationinsights/ @alexeldeib @ramthi @markwolff @trask @hectorhdzg @lzchen
+/specification/applicationinsights/ @alexeldeib
+/specification/applicationinsights/data-plane/Monitor.Exporters/ @ramthi @trask @hectorhdzg @lzchen
/specification/asazure/ @athipp
/specification/authorization/ @darshanhs90 @stankovski
/specification/automation/ @vrdmr
@@ -62,12 +63,12 @@
/specification/resources/ @Azure/arm-template-deployments @rajshah11 @vivsriaus
/specification/scheduler/ @pinwang81
/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy @heaths @AlexGhiondea @Mohit-Chakraborty
-/specification/search/resource-manager/ @abhi1509 @miwelsh @tjacobhi
+/specification/search/resource-manager/ @abhi1509 @tjacobhi
/specification/serialconsole/ @amitchat @craigw @asinn826
/specification/service-map/ @daveirwin1
/specification/servicebus/ @sazeesha @v-ajnava
/specification/servicefabric/ @juhacket @samedder
-/specification/sql/ @jamestao @bcham
+/specification/sql/ @jamestao @bcham @apurvans
/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft
/specification/storage/data-plane/ @kasobol-msft @seanmcc-msft
/specification/storageimportexport/ @leoz-ms
@@ -75,6 +76,7 @@
/specification/storsimple8000series/ @manaas-microsoft
/specification/streamanalytics/ @atpham256
/specification/subscriptions/ @navysingla
+/specification/synapse/ @idear1203
/specification/timeseriesinsights/ @sandshadow
/specification/trafficmanager/ @allencal @hrkulkarmsft
/specification/web/ @naveedaz @Azure/azure-app-service-control-plane
@@ -83,4 +85,4 @@
/specification/**/resource-manager/**/readme.az.md @jsntcy @qiaozha
/specification/**/resource-manager/**/readme.cli.md @jsntcy @qiaozha
/specification/**/resource-manager/**/readme.go.md @ArcturusZhang
-/specification/**/resource-manager/**/readme.python.md @jsntcy @msyyc
+/specification/**/resource-manager/**/readme.python.md @jsntcy @msyyc @zhangyan133 @RAY-316 @00Kai0
diff --git a/README.md b/README.md
index 0e513616f68c..55238c9f061e 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
This repository is the canonical source for REST API specifications for Microsoft Azure.
## Getting started
-If you're a Microsoft employee looking for information about all of the repositories and steps in the pipeline, go to our [documentation](https://github.com/Azure/adx-documentation-pr/wiki) repository. Make sure to [join the Github Azure organization](http://aka.ms/azuregithub) to get access to that repo.
+If you're a Microsoft employee looking for information about all of the repositories and steps in the pipeline, go to the [Azure SDK - Internal Wiki](https://aka.ms/jointhesdk). Make sure to [join the Github Azure organization](http://aka.ms/azuregithub) to get access to that wiki repo. If any trouble with access, please submit a support request using this [form](https://aka.ms/swaggerfeedback).
Latest improvement: Microsoft employees can try out our new experience at [OpenAPI Hub](https://aka.ms/openapihub) - online experience for using our validation tools and finding your workflow.
@@ -82,7 +82,7 @@ The structure should appear like so:
Currently, the specifications are expected to be in Swagger JSON format
## Next steps
-The next step in the process after a spec is completed is to generate SDKs and API reference documentation. If you're Microsoft employee, go to the [Azure Developer Experience guide](https://github.com/Azure/adx-documentation-pr) for more information.
+The next step in the process after a spec is completed is to generate SDKs and API reference documentation. If you're Microsoft employee, go to the [Azure SDK - Internal Wiki](https://aka.ms/jointhesdk) for more information.
---
_This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments._
diff --git a/cSpell.json b/cSpell.json
index de812f5fd95f..961b82aa1309 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -4,6 +4,7 @@
"words": [
"Creds",
"partiallycompleted",
+ "subchannel",
"umls"
],
"dictionaryDefinitions": [
@@ -64,7 +65,25 @@
]
},
{
- "filename": "**/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json",
+ "filename": "**/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/databox.json",
+ "words": [
+ "Tera"
+ ]
+ },
+ {
+ "filename": "**/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Rules.json",
+ "words": [
+ "Ruleproperties"
+ ]
+ },
+ {
+ "filename": "**/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/Rules.json",
+ "words": [
+ "Ruleproperties"
+ ]
+ },
+ {
+ "filename": "**/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Rules.json",
"words": [
"Ruleproperties"
]
@@ -111,84 +130,6 @@
"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": [
@@ -222,12 +163,6 @@
"softare"
]
},
- {
- "filename": "**/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json",
- "words": [
- "Storge"
- ]
- },
{
"filename": "**/specification/datacatalog/resource-manager/Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json",
"words": [
@@ -295,6 +230,12 @@
"Exprired"
]
},
+ {
+ "filename": "**/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-04-01-preview/integrationRuntime.json",
+ "words": [
+ "Exprired"
+ ]
+ },
{
"filename": "**/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json",
"words": [
@@ -334,7 +275,7 @@
]
},
{
- "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/storage.json",
+ "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/storage.json",
"words": [
"Regenerte"
]
@@ -345,6 +286,12 @@
"Regenerte"
]
},
+ {
+ "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/storage.json",
+ "words": [
+ "Regenerte"
+ ]
+ },
{
"filename": "**/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json",
"words": [
@@ -492,6 +439,24 @@
"Messsage"
]
},
+ {
+ "filename": "**/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json",
+ "words": [
+ "Messsage"
+ ]
+ },
+ {
+ "filename": "**/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-01-01/iotdps.json",
+ "words": [
+ "Messsage"
+ ]
+ },
+ {
+ "filename": "**/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/iotdps.json",
+ "words": [
+ "Messsage"
+ ]
+ },
{
"filename": "**/specification/storagesync/resource-manager/Microsoft.StorageSync/preview/2017-06-05-preview/storagesync.json",
"words": [
@@ -551,13 +516,19 @@
]
},
{
- "filename": "**/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json",
+ "filename": "**/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json",
"words": [
- "Minimimum"
+ "Exprired"
]
},
{
- "filename": "**/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json",
+ "filename": "**/specification/synapse/resource-manager/Microsoft.Synapse/stable/2020-12-01/integrationRuntime.json",
+ "words": [
+ "Exprired"
+ ]
+ },
+ {
+ "filename": "**/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-03-01/integrationRuntime.json",
"words": [
"Exprired"
]
@@ -624,25 +595,6 @@
"ayer"
]
},
- {
- "filename": "**/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json",
- "words": [
- "carretera",
- "estaba",
- "atascada",
- "Había",
- "mucho",
- "tráfico",
- "ayer",
- "carretera",
- "estaba",
- "atascada",
- "Había",
- "mucho",
- "tráfico",
- "ayer"
- ]
- },
{
"filename": "**/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.0/TextAnalytics.json",
"words": [
@@ -716,6 +668,36 @@
"Fulfilment"
]
},
+ {
+ "filename": "**/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json",
+ "words": [
+ "Fulfilment"
+ ]
+ },
+ {
+ "filename": "**/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2020-09-01/databoxedge.json",
+ "words": [
+ "Fulfilment"
+ ]
+ },
+ {
+ "filename": "**/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json",
+ "words": [
+ "Fulfilment"
+ ]
+ },
+ {
+ "filename": "**/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-09-01-preview/databoxedge.json",
+ "words": [
+ "Fulfilment"
+ ]
+ },
+ {
+ "filename": "**/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2020-12-01/databoxedge.json",
+ "words": [
+ "Fulfilment"
+ ]
+ },
{
"filename": "**/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/TranslatorText.json",
"words": [
@@ -759,13 +741,6 @@
"reponse"
]
},
- {
- "filename": "**/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json",
- "words": [
- "networkrulesets",
- "Setget"
- ]
- },
{
"filename": "**/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json",
"words": [
@@ -802,9 +777,46 @@
{
"filename": "**/specification/saas/resource-manager/Microsoft.SaaS/preview/2018-03-01-beta/saas.json",
"words": [
- "checkmoderneligibility",
- "saasresources",
- "Moderneligibility"
+ "saasresources"
+ ]
+ },
+ {
+ "filename": "**/specification/hdinsight/hdinsight-kafka-rest-proxy/proxy.json",
+ "words": [
+ "Metada"
+ ]
+ },
+ {
+ "filename": "**/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json",
+ "words": [
+ "saskey"
+ ]
+ },
+ {
+ "filename": "**/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/locations.json",
+ "words": [
+ "vmsize",
+ "vmsizes"
+ ]
+ },
+ {
+ "filename": "**/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json",
+ "words": [
+ "azureasyncoperations",
+ "saskey"
+ ]
+ },
+ {
+ "filename": "**/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/locations.json",
+ "words": [
+ "vmsize",
+ "vmsizes"
+ ]
+ },
+ {
+ "filename": "**/specification/web/resource-manager/Microsoft.Web/stable/2020-12-01/CommonDefinitions.json",
+ "words": [
+ "Guage"
]
}
]
diff --git a/custom-words.txt b/custom-words.txt
index 528e5c3cc6ef..615e56ed77e0 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -111,6 +111,8 @@ apitoken
APNIC
APNS
appconfig
+appendblock
+appendpos
appid
appinsights
applynetworkconfigurationupdates
@@ -132,6 +134,8 @@ artifacturi
asciifolding
Asns
aspnet
+assessmentprojects
+Asturian
asyncinfo
asyncoperation
atascada
@@ -180,7 +184,9 @@ azureaccounts
azureactivedirectory
AzureAD
azureADMetrics
+azureasyncoperations
azureblob
+azurebot
azurecli
azurecr
azuredatabasemigrationservice
@@ -206,9 +212,11 @@ backendid
backends
backfilling
Backoff
+backplane
backupconfig
backupengine
backupstorageconfig
+backuptype
bacpac
badpassword
Bahasa
@@ -245,6 +253,7 @@ bingvideosearch
bingvisualsearch
bingwebsearch
Bioconductor
+Bislama
Bitbucket
Bitlocker
bitness
@@ -257,6 +266,7 @@ Blockchain
Bluefield
BMCI
BMCIP
+BMSAAD
BMSPO
BMSRP
Bokmaal
@@ -267,6 +277,7 @@ botservice
boundingbox
boundingzoom
brazilsouth
+BRCPF
browsable
bruceper
Bsaling
@@ -306,9 +317,11 @@ changedSince
changepoint
changestate
CHECKACCESS
+Checkfeature
+CheckfeatureSupport
+checkin
checkmark
checknameavailability
-checkin
checkpointing
CIDR
CIDRs
@@ -340,9 +353,9 @@ cloudsimple
clustermonitoring
clustername
CMAF
-CMEK
Cmdkey
cmdlet
+CMEK
CMMI
CNAME
cntk
@@ -392,6 +405,7 @@ costcenter
costinsights
costmanagement
Couchbase
+cpes
cpim
CPIM
Cran
@@ -412,6 +426,7 @@ csrs
currentbillingfeatures
currentuser
customerinsights
+customhostnames
customimages
customimagesearch
customizability
@@ -464,6 +479,7 @@ datetimeoffset
datetimes
DBFS
DCOS
+ddagpu
Ddos
DDTHH
deadletter
@@ -479,8 +495,8 @@ Decompounder
dedicatedhsm
deduping
deduplication
+defanged
defrag
-Defrag
Deinterlace
deinterlacing
deletable
@@ -507,6 +523,7 @@ deserialization
deserialized
deserializer
deserializing
+destaging
destinationshares
deterministically
deviceclasses
@@ -519,7 +536,6 @@ devicetags
devicetemplates
deviceupdate
Devops
-devops
devspaces
devtestlab
devtestlabs
@@ -598,15 +614,14 @@ environmentsettings
EPSG
errordetail
errored
-ErrorMesssage
-ErrorSchema
+ESDNI
Español
estaba
Etag
etags
Etcd
-etcd
Ethereum
+EUGPS
evaluateautoscale
evalue
eventcategories
@@ -644,7 +659,6 @@ fatherable
faultable
fconfig
FDID
-FDID
fearthecowboy
featurecapabilities
Featurization
@@ -675,7 +689,6 @@ Français
freeflow
frontdoor
fsaction
-Fulfilment
fullmetadata
Fulltext
fullyqualified
@@ -728,6 +741,7 @@ getvpnclientipsecparameters
getvpnprofilepackageurl
gibibytes
GIFs
+Gilbertese
githubusercontent
gitrepo
globalconfiguration
@@ -736,6 +750,7 @@ gltf
gluster
glusterfs
GOARCH
+GPUMIG
GPUP
GPUs
Grammarly
@@ -758,6 +773,7 @@ Había
hadoop
hana
hanaonazure
+Hani
Hant
Hardenings
hbase
@@ -782,12 +798,12 @@ highestcriticalimpact
hivevar
HKEY
homepagetest
-hotpatching
Horovod
hostnames
hostpool
Hotfix
hotfixes
+hotpatching
HSLA
HSMs
Hubspot
@@ -807,8 +823,10 @@ ICANN
icao
ICMP
Idempotence
+idempotency
IDNS
IDPs
+IDRG
IKEV
ilearner
iloveyou
@@ -817,6 +835,7 @@ Imagelist
imagelists
imagesearch
IMDS
+importcollectors
importdevices
Inbuild
incomingrelationships
@@ -897,8 +916,12 @@ JSONLD
Jtoken
jumpbox
jwts
+K’iche
+Kabuverdianu
+Kachin
kafkarest
Kaliningrad
+Kashubian
kbId
Kbps
KECA
@@ -912,6 +935,7 @@ keyvaultproperties
keyvaulturi
keyversion
KHTML
+kibana
Kiswahili
KMPH
Knowledgebase
@@ -933,6 +957,7 @@ Kubelet
kubenet
kubernetes
kusto
+kustooperations
kvset
l'avion
labaccounts
@@ -954,6 +979,7 @@ LEDs
Lfot
libtrust
lifecycle
+lifecycles
lifetimejobstats
lifetimepoolstats
Liftr
@@ -993,9 +1019,11 @@ Lockdown
loganalytics
loggerid
logio
+Logix
lognormal
logprofiles
loguniform
+Logz
longrunning
lookback
lovins
@@ -1006,6 +1034,7 @@ LRO's
Lucene
Lumia
LUNs
+Luxembourgish
machinelearning
machinelearningcompute
machinelearningexperimentation
@@ -1013,10 +1042,12 @@ machinelearningservices
machinewithhints
Magadan
Magento
+maintenancewindows
managecontacts
managedapplications
-managedeployments
managedclusters
+managedeployments
+managedHSMs
managedserviceidentity
managedservices
managee
@@ -1048,10 +1079,10 @@ mediaservices
Meru
Mesos
messagingplan
-Metada
metadatavalues
metaphone
metastore
+Metastores
Metric's
metricdefinitions
metricmetadata
@@ -1060,6 +1091,8 @@ metricnamespace
metricsadvisor
metrictype
mgmt
+MHSM
+MHSMIP
Mibps
microservices
microsofttranslator
@@ -1143,6 +1176,7 @@ nagios
namespace's
nanoserver
Napoli
+natgateway
nbformat
Nccl
nchar
@@ -1196,9 +1230,9 @@ notstarted
nouploadcache
nowcasts
nsdname
+NSGs
nsku
nsxt
-NSGs
ntext
ntfs
ntlm
@@ -1207,10 +1241,13 @@ nvarchar
Nynorsk
nysiis
OAEP
+Occitan
octokit
Odata
odatatype
ODBC
+offboard
+offboards
officedocument
OLTP
onboarded
@@ -1248,6 +1285,7 @@ osdiskforlinuxsimple
osdiskforwindowssimple
OSMAM
OSNIC
+OSSKU
Otomi
outputdirectoryid
overprovision
@@ -1299,6 +1337,7 @@ pixelated
pkcs
playready
Plex
+PLREGON
Pohlmann
pois
policyassignments
@@ -1348,11 +1387,12 @@ PrivateLink
privateLinkForAzureAd
privatelinkhub
privatelinks
+privatelinkservice
privatepreview
projectable
propogation
Protectable
-ProviderHub
+Providerhub
provisioner
provisioningservices
provisioningState
@@ -1396,6 +1436,7 @@ racyscore
RAGRS
RAGZRS
randint
+randomnumbers
Rankable
ratelimit
ravbhatnagar
@@ -1423,6 +1464,7 @@ recoveryservices
recoveryservicesbackup
recoveryservicessiterecovery
recurse
+Redirector
rediscache
rediscachemanagement
RediSearch
@@ -1473,6 +1515,8 @@ Reprovision
reprovisioned
Reprovisioning
reprovisions
+reranker
+Reranker
Reregister
Rescan
reservationorders
@@ -1538,7 +1582,6 @@ RSNULL
rstrnt
RTMP
RTSP
-Ruleproperties
runbook
Runbooks
runcounts
@@ -1585,6 +1628,7 @@ securitydomainuploadoperation
securityinsight
seealso
serialconsole
+servercollectors
servererror
serverfarm
serverfarms
@@ -1609,7 +1653,6 @@ sessionids
sessionstate
SETACL
SETEXPIRY
-Setget
setissuers
SETOWNER
SETPERMISSION
@@ -1674,8 +1717,8 @@ sparkr
sparql
SPDX
specversion
-speechtotext
speechservicesmanagement
+speechtotext
SQLAG
sqldatabase
SQLDB
@@ -1687,6 +1730,7 @@ SQLRDS
sqlvirtualmachine
sqlvm
Sqoop
+SSDZRS
SSIS
SSISDB
ssoadfs
@@ -1822,6 +1866,7 @@ testnew
testnewroute
testpl
testresultfile
+Tetum
textanalytics
TFIDF
Tful
@@ -1887,6 +1932,7 @@ undeleted
Undeleting
unencrypted
unexamined
+unhide
Unigrams
uniqueidentifier
uniquestring
@@ -1953,6 +1999,7 @@ userprincipalname
usersetting
usertime
USQL
+USUK
uturn
UUCP
UUIDs
@@ -1996,7 +2043,6 @@ vmimage
vmname
vmotion
VMQS
-vmsizes
VMSS
VMSSVM
vmuuid
@@ -2008,6 +2054,7 @@ vnet
vnetid
Vnets
voip
+Volapük
Vpnclient
vpnconfiguration
vpndeviceconfigurationscript
@@ -2022,6 +2069,7 @@ waagent
WADL
waitforjobcompletion
waitingforstarttask
+Walser
WANAs
WANs
WASB
@@ -2043,6 +2091,7 @@ webhostingplans
webjob
webjobs
webproxy
+webpubsub
websearch
webservices
Webspace
@@ -2090,47 +2139,10 @@ Ywhk
YYMMDD
Zabbix
Zerto
+Zhuang
Zilla
+zipdeploy
ziplist
Zoho
zoneinfo
zset
-tpgs
-ProviderHub
-checkin
-regionality
-BRCPF
-IDRG
-EUGPS
-PLREGON
-ESDNI
-USUK
-Resource
-Metastores
-maintenancewindows
-Logix
-Redirector
-destaging
-appendpos
-appendblock
-Exprired
-azureasyncoperations
-saskey
-vmsize
-offboard
-Offboard
-offboards
-Offboards
-FSLogix
-FSLogix
-privatelinkservice
-natgateway
-CheckfeatureSupport
-Checkfeature
-lifecycles
-backuptype
-FSLogix
-unhide
-privatelinkservice
-natgateway
-defanged
diff --git a/documentation/Getting started with OpenAPI specifications.md b/documentation/Getting started with OpenAPI specifications.md
index d7e8f7449dab..438d60ea1bf9 100644
--- a/documentation/Getting started with OpenAPI specifications.md
+++ b/documentation/Getting started with OpenAPI specifications.md
@@ -9,7 +9,7 @@ Currently, we only support `OpenAPI Specification 2.0` or `Swagger V2.0`.
### Helpful Resources
* **[`Understanding the GitHub flow`](https://guides.github.com/introduction/flow/)**
-* **[`Microsft REST-API guidelines`](https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md)**
+* **[`Microsoft REST-API guidelines`](https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md)**
* **[`Structure of a Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/creating-swagger.md)**
* **[`Sample Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json)**
* **[`Sample Readme.md`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/samplereadme.md)**
diff --git a/documentation/Semantic-and-Model-Violations-Reference.md b/documentation/Semantic-and-Model-Violations-Reference.md
index 8ca56eac6d2f..82c945ca8bc5 100644
--- a/documentation/Semantic-and-Model-Violations-Reference.md
+++ b/documentation/Semantic-and-Model-Violations-Reference.md
@@ -1,5 +1,5 @@
# Semantic and Model Violations Reference
-This document lists the set of automated rules that can be validated against swagger spec by running [OAV](https://github.com/Azure/oav) tool. This document also have some *tips for the fix*. Most of the time, the error information has the position of violations in swagger. If the error is internal error and doesn't have much meaningful infomation toward the fix, please create an issue [here](https://github.com/azure/oav/issues).
+This document lists the set of automated rules that can be validated against swagger spec by running [OAV](https://github.com/Azure/oav) tool. This document also have some *tips for the fix*. Most of the time, the error information has the position of violations in swagger. If the error is internal error and doesn't have much meaningful information toward the fix, please create an issue [here](https://github.com/azure/oav/issues).
### Validation Errors
@@ -91,6 +91,9 @@ This document lists the set of automated rules that can be validated against swa
| [ROUNDTRIP_INCONSISTENT_PROPERTY](#ROUNDTRIP_INCONSISTENT_PROPERTY) | |
| [ROUNDTRIP_MISSING_PROPERTY](#ROUNDTRIP_MISSING_PROPERTY) | |
| [ROUNDTRIP_ADDITIONAL_PROPERTY](#ROUNDTRIP_ADDITIONAL_PROPERTY) | |
+| [LRO_RESPONSE_CODE](#LRO_RESPONSE_CODE) | |
+| [LRO_RESPONSE_HEADER](#LRO_RESPONSE_HEADER) | |
+| [MISSING_RESOURCE_ID](#MISSING_RESOURCE_ID) | |
### Validation Warnings
@@ -102,7 +105,7 @@ This document lists the set of automated rules that can be validated against swa
## Rule Descriptions
-### INTERNAL_ERROR
+### INTERNAL_ERROR
**Output Message**: none.
@@ -110,7 +113,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: See the inner error details for the fix.
-### INVALID_CONTENT_TYPE
+### INVALID_CONTENT_TYPE
**Output Message**: Invalid Content-Type {0}. These are supported: {1}.
@@ -118,7 +121,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Fix the content-type as one of the supported values.
-### MISSING_PATH_PARAMETER_DECLARATION
+### MISSING_PATH_PARAMETER_DECLARATION
**Output Message**: Path parameter is defined but is not declared: {0}.
@@ -126,7 +129,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Add the declaration or remove the definition of this parameter.
-### MISSING_PATH_PARAMETER_DEFINITION
+### MISSING_PATH_PARAMETER_DEFINITION
**Output Message**: Path parameter is declared but is not defined: {0}.
@@ -134,7 +137,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Add the detail definition for this path parameter.
-### INVALID_PARAMETER_COMBINATION
+### INVALID_PARAMETER_COMBINATION
**Output Message**: Operation cannot have a body parameter and a formData parameter.
@@ -142,7 +145,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Remove one of these two parameters.
-### MULTIPLE_BODY_PARAMETERS
+### MULTIPLE_BODY_PARAMETERS
**Output Message**: Operation cannot have multiple body parameters.
@@ -150,7 +153,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Remove one of body parameter from this operation.
-### DUPLICATE_OPERATIONID
+### DUPLICATE_OPERATIONID
**Output Message**: Cannot have multiple operations with the same operationId: {0}.
@@ -158,7 +161,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Rename one of the operation id.
-### EQUIVALENT_PATH
+### EQUIVALENT_PATH
**Output Message**: Equivalent path already exists: {0}.
@@ -166,7 +169,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Remove one of the equivalent paths or rename it.
-### EMPTY_PATH_PARAMETER_DECLARATION
+### EMPTY_PATH_PARAMETER_DECLARATION
**Output Message**: Path parameter declaration cannot be empty: {0}.
@@ -174,7 +177,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Add the detail definition or remove this parameter from path.
-### DUPLICATE_PARAMETER
+### DUPLICATE_PARAMETER
**Output Message**: Operation cannot have duplicate parameters: {0}.
@@ -182,7 +185,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Remove the duplicated parameter.
-### CIRCULAR_INHERITANCE
+### CIRCULAR_INHERITANCE
**Output Message**: Schema object inherits from itself: {0}.
@@ -190,7 +193,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Break the circular definition reference.
-### INVALID_REFERENCE
+### INVALID_REFERENCE
**Output Message**: Missing required property definition: {0}.
@@ -198,7 +201,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Add the definition for the required property.
-### INVALID_REFERENCE
+### INVALID_REFERENCE
**Output Message**: xxx | Invalid JSON Reference.
@@ -206,7 +209,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Fix the $ref as per the error details.
-### SCHEMA_VALIDATION_FAILED
+### SCHEMA_VALIDATION_FAILED
**Output Message**: Value failed JSON Schema validation.
@@ -214,7 +217,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Look into the inner errors to fix the value.
-### MISSING_REQUIRED_PARAMETER
+### MISSING_REQUIRED_PARAMETER
**Output Message**: Value is required but was not provided.
@@ -298,7 +301,7 @@ This document lists the set of automated rules that can be validated against swa
**Output Message**: There is no validation function for format '{0}'.
-**Description**: It doesnot support this format validation.
+**Description**: It doesn't support this format validation.
**How to fix the violation**: Use another format or raise an design issue.
@@ -366,7 +369,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the string value.
-### MAX_LENGTH
+### MAX_LENGTH
**Output Message**: String is too long ({0} chars), maximum {1}.
@@ -374,7 +377,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the string value.
-### MIN_LENGTH
+### MIN_LENGTH
**Output Message**: String is too short ({0} chars), minimum {1}.
@@ -382,151 +385,151 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the string value.
-### OBJECT_DEPENDENCY_KEY
+### OBJECT_DEPENDENCY_KEY
**Output Message**: Dependency failed - key must exist: {0} (due to key: {1}).
-**Description**: The dependency value is an array, the object should have all the values in the array defined as property.
+**Description**: The dependency value is an array, the object should have all the values in the array defined as property.
**How to fix the violation**: Add the key {1} as property to the object.
-### OBJECT_PROPERTIES_MAXIMUM
+### OBJECT_PROPERTIES_MAXIMUM
**Output Message**: Too many properties defined ({0}), maximum {1}.
-**Description**: The provided properties amount of a type is greater than the defined maximum properties amount.
+**Description**: The provided properties amount of a type is greater than the defined maximum properties amount.
**How to fix the violation**: Delete some properties to meet the maximum requirement.
-### OBJECT_PROPERTIES_MINIMUM
+### OBJECT_PROPERTIES_MINIMUM
**Output Message**: Too few properties defined ({0}), minimum {1}.
-**Description**: The provided properties amount of a type is less than the defined minimum properties amount.
+**Description**: The provided properties amount of a type is less than the defined minimum properties amount.
**How to fix the violation**: Add more properties to meet the minimum requirement.
-### MAXIMUM_EXCLUSIVE
+### MAXIMUM_EXCLUSIVE
**Output Message**: Value {0} is equal or greater than exclusive maximum {1}.
-**Description**: The value provided is greater than or equal to the defined maximum value.
+**Description**: The value provided is greater than or equal to the defined maximum value.
**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
-### MAXIMUM
+### MAXIMUM
**Output Message**: Value {0} is greater than maximum {1}.
-**Description**: The value provided is greater than the defined maximum value.
+**Description**: The value provided is greater than the defined maximum value.
**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
-### MINIMUM_EXCLUSIVE
+### MINIMUM_EXCLUSIVE
**Output Message**: Value {0} is equal or less than exclusive minimum {1}.
-**Description**: The value provided is less than or equal to defined minimum value.
+**Description**: The value provided is less than or equal to defined minimum value.
**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
-### MULTIPLE_OF
+### MULTIPLE_OF
**Output Message**: Value {0} is not a multiple of {1}.
-**Description**: The value provided isn't a multiple of defined value.
+**Description**: The value provided isn't a multiple of defined value.
**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
-### MINIMUM
+### MINIMUM
**Output Message**: Value {0} is less than minimum {1}.
-**Description**: The value provided is less than the defined minimum value.
+**Description**: The value provided is less than the defined minimum value.
**How to fix the violation**: The error info has the position of swagger, look for the position in swagger and fix the value.
-### ARRAY_ADDITIONAL_ITEMS
+### ARRAY_ADDITIONAL_ITEMS
**Output Message**: Additional items not allowed.
-**Description**: The size of array is more than the array items length in schema.
+**Description**: The size of array is more than the array items length in schema.
**How to fix the violation**: Make the size of array less than or equal to the array items length in schema.
-### ARRAY_UNIQUE
+### ARRAY_UNIQUE
**Output Message**: Array items are not unique (indexes {0} and {1}).
-**Description**: Array items doesn't match the schema of `uniqueItems = true`.
+**Description**: Array items doesn't match the schema of `uniqueItems = true`.
**How to fix the violation**: Make array items unique.
-### ARRAY_LENGTH_LONG
+### ARRAY_LENGTH_LONG
**Output Message**: Array is too long ({0}), maximum {1}.
-**Description**: Array items is too much.
+**Description**: Array items is too much.
**How to fix the violation**: Make array items less than maximum number.
-### ARRAY_LENGTH_SHORT
+### ARRAY_LENGTH_SHORT
**Output Message**: Array is too short ({0}), minimum {1}.
-**Description**: Array items is too little.
+**Description**: Array items is too little.
**How to fix the violation**: Make array have at least minimum item.
-### NOT_PASSED
+### NOT_PASSED
**Output Message**: Data matches schema from 'not'.
-**Description**: Data is valid for the schema but it should not be valid because the `not` keyword.
+**Description**: Data is valid for the schema but it should not be valid because the `not` keyword.
**How to fix the violation**: See inner errors for the detail issue and fix the data to not match the schema.
-### ONE_OF_MULTIPLE
+### ONE_OF_MULTIPLE
**Output Message**: Data is valid against more than one schema from 'oneOf'.
-**Description**: Data is valid for more than one sub-schemas.
+**Description**: Data is valid for more than one sub-schemas.
**How to fix the violation**: See inner errors for the detail issue and fix the data to match only one sub-schema.
-### ONE_OF_MISSING
+### ONE_OF_MISSING
**Output Message**: Data does not match any schemas from 'oneOf'.
-**Description**: None of the sub-schemas passes the validation.
+**Description**: None of the sub-schemas passes the validation.
**How to fix the violation**: See inner errors for the detail issue.
-### ANY_OF_MISSING
+### ANY_OF_MISSING
**Output Message**: Data does not match any schemas from 'anyOf'.
-**Description**: None of the sub-schemas passes the validation.
+**Description**: None of the sub-schemas passes the validation.
**How to fix the violation**: See inner errors for the detail issue.
-### REQUEST_VALIDATION_ERROR
+### REQUEST_VALIDATION_ERROR
**Output Message**: Found errors in validating the request for x-ms-example {0} in operation {1} or in validating request payload.
-**Description**: Validate the request of each x-ms-example or traffic payload.
+**Description**: Validate the request of each x-ms-example or traffic payload.
**How to fix the violation**: The request parameter defined in example or in traffic payload should match with the swagger spec.
-### RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE
+### RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE
**Output Message**: Following response status codes {0} for operation {1} were present in the swagger spec, however they were not present in x-ms-examples. Please provide them.
-**Description**: All the response cases with different response code should have correspondent response defined in example.
+**Description**: All the response cases with different response code should have correspondent response defined in example.
**How to fix the violation**: Add them to example if they are not present.
-### INVALID_REQUEST_PARAMETER
+### INVALID_REQUEST_PARAMETER
**Output Message**: Invalid parameter ({0}): Value failed JSON Schema validation.
@@ -534,7 +537,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Check the inner errors for the fix solution.
-### INVALID_RESPONSE_CODE
+### INVALID_RESPONSE_CODE
**Output Message**: This operation does not have a defined {0} response code.
@@ -550,7 +553,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Add response body.
-### OBJECT_ADDITIONAL_PROPERTIES
+### OBJECT_ADDITIONAL_PROPERTIES
**Output Message**: Additional properties not allowed:{0}.
@@ -559,7 +562,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, ensure the property name specified in example or in traffic payload appears exact the same in the definition or remove this property from example or from traffic payload if it's not defined in swagger spec. Remind all the characters are case sensitive.
-### INVALID_FORMAT
+### INVALID_FORMAT
**Output Message**: Object didn't pass validation for format {0}:{1}.
@@ -567,7 +570,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the format of the param. e.g. error info containing params: [ 'int32', '2'] means the param type is `int32`, so the format should be number `2` instead of string '2'.
-### INVALID_TYPE
+### INVALID_TYPE
**Output Message**: Expected type {0} but found type {1}.
@@ -575,23 +578,23 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Correct the type defined in example file or in traffic payload. Sometimes this could be false positive when it peers with other errors which belongs to same parent `ANY_OF_MISSING` error or `ONE_OF_MISSING` error, in this case this error can be ignored and just fix other peer errors eventually this error will be cleared out automatically.
-### ENUM_CASE_MISMATCH
+### ENUM_CASE_MISMATCH
**Output Message**: Enum does not match case for:{0}.
-**Description**: The enum value provided in exmaple or in traffic payload doesn't match the case of an allowed value.
+**Description**: The enum value provided in example or in traffic payload doesn't match the case of an allowed value.
**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the value case in example or in traffic payload.
-### ENUM_MISMATCH
+### ENUM_MISMATCH
**Output Message**: Enum does not match case for:{0}.
-**Description**: The enum value provided in exmaple or in traffic payload doesn't match the case of an allowed value.
+**Description**: The enum value provided in example or in traffic payload doesn't match the case of an allowed value.
**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the value case in example or in traffic payload.
-### READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST
+### READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST
**Output Message**: ReadOnly property `{0}: {1}`, cannot be sent in the request.
@@ -599,13 +602,13 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Remove the readonly property from the request parameters in example or in traffic payload.
-### OBJECT_MISSING_REQUIRED_PROPERTY
+### OBJECT_MISSING_REQUIRED_PROPERTY
**Output Message**: Missing required property: {0}.
**Description**: The property {0} is required and has to provide in request or response of example (or of traffic payload).
-**How to fix the violation**: Provide the requried property in example(or in traffic payload) or remove this property from the required list of the definition in swagger spec. Or add items property if the type is array.
+**How to fix the violation**: Provide the required property in example(or in traffic payload) 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
@@ -616,7 +619,7 @@ This document lists the set of automated rules that can be validated against swa
**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
+### DISCRIMINATOR_NOT_REQUIRED
**Output Message**: discriminator must be a required property.
@@ -624,15 +627,15 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Set the property as required property in swagger.
-### RESPONSE_BODY_NOT_IN_EXAMPLE
+### RESPONSE_BODY_NOT_IN_EXAMPLE
**Output Message**: Response statusCode {0} for operation {1} has no response body provided in the example, however the response does have a "schema" defined in the swagger spec.
-**Description**: It should have response body provided in exmaple even empty when it has schema defined for this response in swagger.
+**Description**: It should have response body provided in example even empty when it has schema defined for this response in swagger.
**How to fix the violation**: Add the response body in example which could be empty value {}.
-### DOUBLE_FORWARD_SLASHES_IN_URL
+### DOUBLE_FORWARD_SLASHES_IN_URL
**Output Message**: In operation {0}, example for parameter {1}: {2} starts with a forward slash and the path template: {3} contains a forward slash before the parameter starts. This will cause double forward slashes in the request url. Thus making it incorrect. Please rectify the example.
@@ -640,43 +643,43 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Remove one of it from path or parameter.
-### OPERATION_NOT_FOUND_IN_CACHE_WITH_PROVIDER
+### OPERATION_NOT_FOUND_IN_CACHE_WITH_PROVIDER
**Output Message**: Could not find provider {0} in the cache.
-**Description**: There's none matched resouce provider in the cache.
+**Description**: There's none matched resource provider in the cache.
-**How to fix the violation**: Fix resouce provider.
+**How to fix the violation**: Fix resource provider.
-### OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB
+### OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB
**Output Message**: Could not find any methods with verb {0} for api-version {1 }and provider {2} in the cache.
-### OPERATION_NOT_FOUND_IN_CACHE_WITH_API
+### OPERATION_NOT_FOUND_IN_CACHE_WITH_API
**Output Message**: Could not find exact api-version {0} for provider {1} in the cache.
-**Description**: There's none api methods based on api-version and resouce provider.
+**Description**: There's none api methods based on api-version and resource provider.
-**How to fix the violation**: Fix api-version or resouce provider.
+**How to fix the violation**: Fix api-version or resource provider.
-### OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB
+### OPERATION_NOT_FOUND_IN_CACHE_WITH_VERB
**Output Message**: Could not find any methods with verb {0} for api-version {1 }and provider {2} in the cache.
-**Description**: It fails to search for any matched api method based on verb, api-version and resouce provider.
+**Description**: It fails to search for any matched api method based on verb, api-version and resource provider.
-**How to fix the violation**: Fix the verb, api-version or resouce provider.
+**How to fix the violation**: Fix the verb, api-version or resource provider.
-### OPERATION_NOT_FOUND_IN_CACHE
+### OPERATION_NOT_FOUND_IN_CACHE
**Output Message**: Could not find best match operation for verb {0} for api-version {1} and provider {2} in the cache.
-**Description**: It fails to search for any matched operation based on verb, api-version, path and resouce provider.
+**Description**: It fails to search for any matched operation based on verb, api-version, path and resource provider.
-**How to fix the violation**: Fix the verb, api-version, path or resouce provider.
+**How to fix the violation**: Fix the verb, api-version, path or resource provider.
-### PATH_NOT_FOUND_IN_REQUEST_URL
+### PATH_NOT_FOUND_IN_REQUEST_URL
**Output Message**: Could not find path from requestUrl: {0}.
@@ -684,7 +687,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Fix the path.
-### POTENTIAL_OPERATION_SEARCH_ERROR
+### POTENTIAL_OPERATION_SEARCH_ERROR
**Output Message**: An error occurred while trying to search for potential operations: {0}.
@@ -692,7 +695,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Fix the url or http method.
-### INCORRECT_INPUT
+### INCORRECT_INPUT
**Output Message**: requestResponseObj cannot be null or undefined and must be of type "object" | Found errors {0} in the provided input {1}.
@@ -700,7 +703,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: See inner detail errors toward the fix.
-### MULTIPLE_OPERATIONS_FOUND
+### MULTIPLE_OPERATIONS_FOUND
**Output Message**: Found multiple matching operations with operationIds {0} for request url {1} with HTTP Method {2}.
@@ -708,7 +711,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Make the operationId as unique across the swagger.
-### SEMANTIC_VALIDATION_ERROR
+### SEMANTIC_VALIDATION_ERROR
**Output Message**: The spec {0} has semantic validation errors.
@@ -716,7 +719,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: See inner detail errors toward the fix.
-### RESPONSE_SCHEMA_NOT_IN_SPEC
+### RESPONSE_SCHEMA_NOT_IN_SPEC
**Output Message**: Response statusCode {0} for operation {1} has response body provided in the example, however the response does not have a "schema" defined in the swagger spec.
@@ -724,7 +727,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Add the missing schema definition in swagger spec.
-### RESPONSE_STATUS_CODE_NOT_IN_SPEC
+### RESPONSE_STATUS_CODE_NOT_IN_SPEC
**Output Message**: Response statusCode {0} for operation {1} is provided in exampleResponseValue, however it is not present in the swagger spec.
@@ -732,7 +735,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Add the missing status code definition in swagger spec or remove the unmatched status code part from example.
-### RESPONSE_VALIDATION_ERROR
+### RESPONSE_VALIDATION_ERROR
**Output Message**: Found errors in validating the response with statusCode {} ...
@@ -740,7 +743,7 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: See inner details for the violations and fix.
-### X-MS-EXAMPLE_NOTFOUND_ERROR
+### X-MS-EXAMPLE_NOTFOUND_ERROR
**Output Message**: x-ms-example not found in {0}.
@@ -748,34 +751,34 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Add `x-ms-example` declaration for this operation.
-### ERROR_IN_PREPARING_REQUEST
+### ERROR_IN_PREPARING_REQUEST
**Description**: Error when preparing the request for validation.
**How to fix the violation**: Fix by the inner error details or raise an issue at [oav](https://github.com/azure/oav/issues).
-### REQUIRED_PARAMETER_EXAMPLE_NOT_FOUND
+### REQUIRED_PARAMETER_EXAMPLE_NOT_FOUND
**Output Message**: In operation {0}, parameter {1} is required in the swagger spec but is not present in the provided example parameter values.
**Description**: Required parameter is not provided in example.
-**How to fix the violation**: Add the requried parameter in example.
+**How to fix the violation**: Add the required parameter in example.
-### RESOLVE_SPEC_ERROR
+### RESOLVE_SPEC_ERROR
**Description**: Error happens when try to resolve the swagger.
**How to fix the violation**: See the inner error details for the fix.
-### JSON_PARSING_ERROR
+### JSON_PARSING_ERROR
**Description**: Error happens when try to parse the JSON.
**How to fix the violation**: See the inner error details for the fix.
-### UNUSED_DEFINITION
+### UNUSED_DEFINITION
**Output Message**: Definition is not used: {0}.
@@ -783,7 +786,7 @@ 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.
-### SECRET_PROPERTY
+### SECRET_PROPERTY
**Output Message**: Secret property {0} cannot be sent in the response.
@@ -796,7 +799,7 @@ This document lists the set of automated rules that can be validated against swa
**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 it is immutable (its value cannot be changed after creation), update the swagger definition for this property to mark it with the "x-ms-mutability": ["create", "read"] annotation. 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 its value cannot be set by users, or its value can be set in the initial PUT request but cannot be updated afterwards. 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. There are some other cases where ROUNDTRIP_INCONISTENT_PROPERTY is raised but cannot be fixed in swagger, for which you might need to send exception requests (please refer to the **How to fix the violation section** section below for more details).
+**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 its value cannot be set by users, or its value can be set in the initial PUT request but cannot be updated afterwards. 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. There are some other cases where ROUNDTRIP_INCONSISTENT_PROPERTY is raised but cannot be fixed in swagger, for which you might need to send exception requests (please refer to the **How to fix the violation section** section below for more details).
**How to fix the violation**:
- Check if the property is read-only. If yes, 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.
@@ -827,3 +830,27 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**:
- Check if the property is read-only. If yes, 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.
- Check if the property has a default value. If yes, update the Swagger definition for this property to mark it with "default": annotation.
+
+### LRO_RESPONSE_CODE
+
+**Output Message**: Respond to the initial request of a long running operation, Patch/Post call must return 201 or 202, Delete call must return 202 or 204, Put call must return 202 or 201 or 200, but {statusCode} being returned.
+
+**Description**: Long running operation must return specific response code as per http method type when this operation is annotated with x-ms-long-running-operation:true. See [RPC - Asynchronous Operations](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations) for more details.
+
+**How to fix the violation**: Correct the response code per the guidance or remove annotation of x-ms-long-running-operation.
+
+### LRO_RESPONSE_HEADER
+
+**Output Message**: Long running operation should return {header} in header but not being provided.
+
+**Description**: Long running operation must return location header or azure-AsyncOperation header in response when this operation is annotated with x-ms-long-running-operation:true.
+
+**How to fix the violation**: Adding one of these headers to the response.
+
+### MISSING_RESOURCE_ID
+
+**Output Message**: id is required to return in response of GET/PUT resource calls but not being provided.
+
+**Description**: `id` is a required field of azure resource to return in response body of each GET or PUT call when this resource is annotated as x-ms-azure-resource: true. This field is important to the platform because it is used as the identifier for references on other objects. e.g. "id": "/subscriptions/{id}/resourceGroups/{group}/providers/{rpns}/{type}/{name}".
+
+**How to fix the violation**: Adding id to the response body.
diff --git a/documentation/code-gen/configure-cli.md b/documentation/code-gen/configure-cli.md
index 9ec45fdcd8c3..d8243f016784 100644
--- a/documentation/code-gen/configure-cli.md
+++ b/documentation/code-gen/configure-cli.md
@@ -91,7 +91,7 @@ az:
package-name: azure-mgmt-communication
az-output-folder: $(azure-cli-extension-folder)/src/communication
python-sdk-output-folder: "$(az-output-folder)/azext_communication/vendored_sdks/communication"
-# add additinal configuration here specific for Azure CLI
+# add additional configuration here specific for Azure CLI
# refer to the faq.md for more details
```
diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md
index e581a0d69cf1..039bfe8cc913 100644
--- a/documentation/openapi-authoring-automated-guidelines.md
+++ b/documentation/openapi-authoring-automated-guidelines.md
@@ -1,6 +1,6 @@
# OpenAPI Specifications Authoring - Automated Guidelines #
-This document lists the set of automated rules that can be validated against OpenAPI(swagger) spec by running [validation tools](https://github.com/Azure/adx-documentation-pr/blob/master/tools/tools.md). Please visit [here for Manual guidelines](openapi-authoring-manual-guidelines.md).
+This document lists the set of automated rules that can be validated against OpenAPI(swagger) spec by running [validation tools](https://github.com/Azure/azure-openapi-validator#how-to-run-locally). Please visit [here for Manual guidelines](openapi-authoring-manual-guidelines.md).
It is a requirement to conform to all manual and automated rules with severity "Error" before sending a pull request for review.
diff --git a/documentation/samplefiles-dp/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json b/documentation/samplefiles-dp/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json
new file mode 100644
index 000000000000..e85f41fb8930
--- /dev/null
+++ b/documentation/samplefiles-dp/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json
@@ -0,0 +1,126 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-12-01",
+ "title": "YourServiceName",
+ "description": "Description of the new service"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": true,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "name": "endpoint",
+ "description": "The endpoint of the service",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/service/{accountName}": {
+ "get": {
+ "tags": [
+ "Tag1"
+ ],
+ "operationId": "OperationGroup_Get",
+ "x-ms-examples": {
+ "BatchAccountDelete": {
+ "$ref": "./examples/OperationGroupGet.json"
+ }
+ },
+ "description": "This is a sample get operation, please see guidelines in azure-rest-api-specs repository for more info",
+ "parameters": [
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the storage account."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Describe the result of a successful operation.",
+ "schema": {
+ "$ref": "#/definitions/Result"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Result": {
+ "description": "Sample result definition",
+ "properties": {
+ "sampleProperty": {
+ "type": "string",
+ "description": "Sample property of type string"
+ }
+ }
+ },
+ "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": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to be used with the HTTP request."
+ }
+ }
+}
diff --git a/documentation/samplefiles-dp/Microsoft.YourServiceName/stable/YYYY-MM-DD/examples/OperationGroupGet.json b/documentation/samplefiles-dp/Microsoft.YourServiceName/stable/YYYY-MM-DD/examples/OperationGroupGet.json
new file mode 100644
index 000000000000..32694aad128b
--- /dev/null
+++ b/documentation/samplefiles-dp/Microsoft.YourServiceName/stable/YYYY-MM-DD/examples/OperationGroupGet.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "uswest",
+ "id": "/service/sampleacct",
+ "type": "Microsoft.YourServiceName/YourServiceName"
+ }
+ }
+ }
+}
diff --git a/documentation/samplefiles-dp/samplereadme.md b/documentation/samplefiles-dp/samplereadme.md
new file mode 100644
index 000000000000..a420e16a77a3
--- /dev/null
+++ b/documentation/samplefiles-dp/samplereadme.md
@@ -0,0 +1,39 @@
+# [[ServiceName]]
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for [[ServiceName]].
+
+## 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 [[ServiceName]].
+
+```yaml
+openapi-type: [[OpenApiType]]
+tag: package-[[Version]]
+```
+
+### Tag: package-[[Version]]
+
+These settings apply only when `--tag=package-[[Version]]` is specified on the command line.
+
+```yaml $(tag) == 'package-[[Version]]'
+input-file:
+ - [[ResourceProviderName]]/[[ReleaseState]]/[[Version]]/[[ServiceName]].json
+```
diff --git a/documentation/samplefiles/readme.az.md b/documentation/samplefiles/readme.az.md
index 704bc05715eb..ab6eaf1557a1 100644
--- a/documentation/samplefiles/readme.az.md
+++ b/documentation/samplefiles/readme.az.md
@@ -11,7 +11,7 @@ az:
package-name: azure-mgmt-[[ServiceName]]
az-output-folder: $(azure-cli-extension-folder)/src/[[ServiceName]]
python-sdk-output-folder: "$(az-output-folder)/azext_[[ServiceName]]/vendored_sdks/[[ServiceName]]"
-# add additinal configuration here specific for Azure CLI
+# add additional configuration here specific for Azure CLI
# refer to the faq.md for more details
```
diff --git a/documentation/samplefiles/readme.go.md b/documentation/samplefiles/readme.go.md
index 8b12e08878d5..2bef6f16af36 100644
--- a/documentation/samplefiles/readme.go.md
+++ b/documentation/samplefiles/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: [[ServiceName]]
clear-output-folder: true
```
diff --git a/package-lock.json b/package-lock.json
index 2db386413c3e..4097b8d804f1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,8148 +1,8 @@
{
"name": "azure-rest-api-specs-tests",
"version": "0.1.0",
- "lockfileVersion": 2,
+ "lockfileVersion": 1,
"requires": true,
- "packages": {
- "": {
- "name": "azure-rest-api-specs-tests",
- "version": "0.1.0",
- "hasInstallScript": true,
- "license": "MIT",
- "devDependencies": {
- "@azure/avocado": "^0.7.2",
- "@azure/rest-api-specs-scripts": "^0.14.0",
- "@ts-common/commonmark-to-markdown": "^1.2.0",
- "@ts-common/fs": "0.2.0",
- "@ts-common/iterator": "^0.3.6",
- "@types/js-yaml": "^3.12.1",
- "@types/mocha": "^5.2.6",
- "@types/prettier": "^1.18.3",
- "cspell": "^4.0.30",
- "js-yaml": "^3.13.1",
- "json-schema-ref-parser": "^6.1.0",
- "mocha": "*",
- "prettier": "^1.19.1",
- "ts-node": "^8.1.0",
- "tslib": "^1.10.0",
- "typescript": "3.5.3"
- }
- },
- "node_modules/@azure/avocado": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.7.2.tgz",
- "integrity": "sha512-9hKNfrwgbgDwSFxMxodYStIsCc2X5RujyazYx7hkh2N0wpwgvhRU1xKTK7P0qCY3I9/V2LVq3iwGWeHIfTUQoQ==",
- "dev": true,
- "dependencies": {
- "@azure/openapi-markdown": "^0.9.1",
- "@azure/swagger-validation-common": "^0.0.5",
- "@ts-common/async-iterator": "^0.2.2",
- "@ts-common/commonmark-to-markdown": "^1.2.0",
- "@ts-common/fs": "^0.2.0",
- "@ts-common/iterator": "^0.3.6",
- "@ts-common/json": "^0.3.1",
- "@ts-common/json-parser": "^0.9.0",
- "@ts-common/string-map": "^0.3.0",
- "commonmark": "^0.29.0",
- "js-yaml": "^3.13.1",
- "node-object-hash": "^1.4.2",
- "yargs": "^15.3.1"
- },
- "bin": {
- "avocado": "bin/cli.js"
- }
- },
- "node_modules/@azure/oad": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/@azure/oad/-/oad-0.8.2.tgz",
- "integrity": "sha512-cYEdLqBesAJ0m1MAnKkHWzaCK9i1tNWgbMXF1J2xK+S9H0kVGJ6UL8+aJlBa0kq24rcJfqcSdjOfr51B4XXZJw==",
- "dev": true,
- "dependencies": {
- "@ts-common/fs": "^0.2.0",
- "@ts-common/iterator": "^0.3.6",
- "@ts-common/json": "^0.3.1",
- "@ts-common/json-parser": "^0.9.0",
- "@ts-common/source-map": "^0.5.0",
- "@ts-common/string-map": "^0.3.0",
- "autorest": "^2.0.4407",
- "glob": "^7.1.3",
- "js-yaml": "^3.13.1",
- "json-pointer": "^0.6.0",
- "json-refs": "^3.0.13",
- "request": "^2.88.0",
- "source-map": "^0.7.3",
- "tslib": "^1.9.3",
- "winston": "^2.3.0",
- "yargs": "^13.2.2"
- },
- "bin": {
- "oad": "dist/cli.js"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/@azure/oad/node_modules/cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "dependencies": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
- "node_modules/@azure/oad/node_modules/wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@azure/oad/node_modules/yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
- "dev": true,
- "dependencies": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
- }
- },
- "node_modules/@azure/oad/node_modules/yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- },
- "node_modules/@azure/openapi-markdown": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/@azure/openapi-markdown/-/openapi-markdown-0.9.2.tgz",
- "integrity": "sha512-EhjABbBzHAPK8K88Ya7yHdIKjcU2WSiclIuXSDqs/mYAUym4Z9o7lvIi0Li+mUhFaLAh2V4+OzdIVUdTzJa0Fg==",
- "dev": true,
- "dependencies": {
- "@ts-common/commonmark-to-markdown": "^1.2.0",
- "@ts-common/iterator": "^0.3.1",
- "@ts-common/string-map": "^0.3.0",
- "@ts-common/virtual-fs": "^0.3.0",
- "commonmark": "^0.28.1",
- "js-yaml": "^3.13.1",
- "tslib": "^1.9.3"
- }
- },
- "node_modules/@azure/openapi-markdown/node_modules/commonmark": {
- "version": "0.28.1",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
- "integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
- "dev": true,
- "dependencies": {
- "entities": "~ 1.1.1",
- "mdurl": "~ 1.0.1",
- "minimist": "~ 1.2.0",
- "string.prototype.repeat": "^0.2.0"
- },
- "bin": {
- "commonmark": "bin/commonmark"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@azure/rest-api-specs-scripts": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@azure/rest-api-specs-scripts/-/rest-api-specs-scripts-0.14.0.tgz",
- "integrity": "sha512-5V2KidA4lEx2ARpEw3fCJ04sQJfUfSM28pOVbTqVy3RvOhVHnG4LUfw/CgzCz1OzmxBuwt2hFJWORHxAxKgLSw==",
- "dev": true,
- "dependencies": {
- "@azure/avocado": "^0.4.1",
- "@azure/oad": "^0.8.1",
- "@azure/swagger-validation-common": "^0.1.2",
- "@octokit/rest": "^16.42.0",
- "@ts-common/string-map": "^0.3.0",
- "commonmark": "0.27.0",
- "fs-extra": "^7.0.1",
- "glob": "^7.1.3",
- "js-yaml": "^3.13.1",
- "oav": "^0.22.9",
- "request": "^2.88.0"
- }
- },
- "node_modules/@azure/rest-api-specs-scripts/node_modules/@azure/avocado": {
- "version": "0.4.10",
- "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.4.10.tgz",
- "integrity": "sha512-0zPM0gE/QkQEGZkqyFW2+UgmbhvR1D0MzEucVg1fbVIXpHktVzo0O95bEm6jrg07XrCO3yj9eZmOwTDqotnp9A==",
- "dev": true,
- "dependencies": {
- "@azure/openapi-markdown": "^0.9.1",
- "@ts-common/async-iterator": "^0.2.2",
- "@ts-common/commonmark-to-markdown": "^1.2.0",
- "@ts-common/fs": "^0.2.0",
- "@ts-common/iterator": "^0.3.6",
- "@ts-common/json": "^0.3.1",
- "@ts-common/json-parser": "^0.8.0",
- "@ts-common/string-map": "^0.3.0",
- "commonmark": "^0.29.0",
- "js-yaml": "^3.13.1",
- "node-object-hash": "^1.4.2"
- },
- "bin": {
- "avocado": "bin/cli.js"
- }
- },
- "node_modules/@azure/rest-api-specs-scripts/node_modules/@azure/avocado/node_modules/commonmark": {
- "version": "0.29.2",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.29.2.tgz",
- "integrity": "sha512-spe43MvEIaPpHss1T7z4yQaFQfLGmMu+yvCwv6xqhELIwkG/ZGgDpxOPzKxnuYzYT2c+aziCCc8m2rBVLA7jUA==",
- "dev": true,
- "dependencies": {
- "entities": "~2.0",
- "mdurl": "~1.0.1",
- "minimist": ">=1.2.2",
- "string.prototype.repeat": "^0.2.0"
- },
- "bin": {
- "commonmark": "bin/commonmark"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@azure/rest-api-specs-scripts/node_modules/@azure/swagger-validation-common": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@azure/swagger-validation-common/-/swagger-validation-common-0.1.2.tgz",
- "integrity": "sha512-QjmSpAliTzc77WTCnm3+zS2qVGv5U9/2h2y1ICZKQp5+0JSMcy3dPbS9WiKKkpsGQ2b1BJbDugJqKVg6a+8AeA==",
- "dev": true
- },
- "node_modules/@azure/rest-api-specs-scripts/node_modules/@ts-common/json-parser": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.8.0.tgz",
- "integrity": "sha512-mlScUHhZiyUH9Am1zGv4r5ce8SM5OkBz9UpnzQrSK8PDHsgnHVHAukMUKxyvqWB9V2JemTXcbnQkjnrBH02QIQ==",
- "dev": true,
- "dependencies": {
- "@ts-common/add-position": "0.0.2",
- "@ts-common/iterator": "^0.3.5",
- "@ts-common/json": "^0.3.1",
- "@ts-common/source-map": "^0.5.0",
- "@ts-common/string-map": "^0.3.0",
- "tslib": "^1.9.3"
- }
- },
- "node_modules/@azure/rest-api-specs-scripts/node_modules/commonmark": {
- "version": "0.27.0",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.27.0.tgz",
- "integrity": "sha1-2GwmK5YoIelIPGnFR7xYhAwEezQ=",
- "dev": true,
- "dependencies": {
- "entities": "~ 1.1.1",
- "mdurl": "~ 1.0.1",
- "minimist": "~ 1.2.0",
- "string.prototype.repeat": "^0.2.0"
- },
- "bin": {
- "commonmark": "bin/commonmark"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@azure/rest-api-specs-scripts/node_modules/commonmark/node_modules/entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
- },
- "node_modules/@azure/rest-api-specs-scripts/node_modules/entities": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
- "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
- "dev": true
- },
- "node_modules/@azure/swagger-validation-common": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/@azure/swagger-validation-common/-/swagger-validation-common-0.0.5.tgz",
- "integrity": "sha512-oc6OHLdoLlOpO5GjMcOFETEhJi45CI3MVIhvVY/yqyGw9AtaqOYw5HzO3wTuYgYFeGS4v9iqFah0SNLZrpk3Sg==",
- "dev": true
- },
- "node_modules/@babel/code-frame": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
- "dev": true,
- "dependencies": {
- "@babel/highlight": "^7.10.4"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.12.9",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz",
- "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.12.5",
- "@babel/helper-module-transforms": "^7.12.1",
- "@babel/helpers": "^7.12.5",
- "@babel/parser": "^7.12.7",
- "@babel/template": "^7.12.7",
- "@babel/traverse": "^7.12.9",
- "@babel/types": "^7.12.7",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.1",
- "json5": "^2.1.2",
- "lodash": "^4.17.19",
- "resolve": "^1.3.2",
- "semver": "^5.4.1",
- "source-map": "^0.5.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/@babel/core/node_modules/resolve": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
- "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.1.0",
- "path-parse": "^1.0.6"
- }
- },
- "node_modules/@babel/core/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.12.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz",
- "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.12.5",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- }
- },
- "node_modules/@babel/generator/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
- "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-get-function-arity": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/types": "^7.10.4"
- }
- },
- "node_modules/@babel/helper-get-function-arity": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
- "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.10.4"
- }
- },
- "node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz",
- "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.12.7"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.12.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz",
- "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.12.5"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
- "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
- "dev": true,
- "dependencies": {
- "@babel/helper-module-imports": "^7.12.1",
- "@babel/helper-replace-supers": "^7.12.1",
- "@babel/helper-simple-access": "^7.12.1",
- "@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/helper-validator-identifier": "^7.10.4",
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.12.1",
- "@babel/types": "^7.12.1",
- "lodash": "^4.17.19"
- }
- },
- "node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz",
- "integrity": "sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.12.7"
- }
- },
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.12.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz",
- "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.12.1",
- "@babel/helper-optimise-call-expression": "^7.10.4",
- "@babel/traverse": "^7.12.5",
- "@babel/types": "^7.12.5"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.12.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
- "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.12.1"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
- "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.11.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
- "dev": true
- },
- "node_modules/@babel/helpers": {
- "version": "7.12.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz",
- "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.10.4",
- "@babel/traverse": "^7.12.5",
- "@babel/types": "^7.12.5"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz",
- "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz",
- "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.10.4",
- "@babel/parser": "^7.12.7",
- "@babel/types": "^7.12.7"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.12.9",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz",
- "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.10.4",
- "@babel/generator": "^7.12.5",
- "@babel/helper-function-name": "^7.10.4",
- "@babel/helper-split-export-declaration": "^7.11.0",
- "@babel/parser": "^7.12.7",
- "@babel/types": "^7.12.7",
- "debug": "^4.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.19"
- }
- },
- "node_modules/@babel/traverse/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.12.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz",
- "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.10.4",
- "lodash": "^4.17.19",
- "to-fast-properties": "^2.0.0"
- }
- },
- "node_modules/@dabh/diagnostics": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz",
- "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==",
- "dev": true,
- "dependencies": {
- "colorspace": "1.1.x",
- "enabled": "2.0.x",
- "kuler": "^2.0.0"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
- "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@microsoft.azure/autorest-extension-base": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/@microsoft.azure/autorest-extension-base/-/autorest-extension-base-1.0.13.tgz",
- "integrity": "sha1-/VobUj8CzK3525vK8Jez/5mSgeY=",
- "dev": true,
- "dependencies": {
- "vscode-jsonrpc": "^3.5.0"
- }
- },
- "node_modules/@mrmlnc/readdir-enhanced": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
- "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
- "dev": true,
- "dependencies": {
- "call-me-maybe": "^1.0.1",
- "glob-to-regexp": "^0.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
- "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@octokit/auth-token": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz",
- "integrity": "sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==",
- "dev": true,
- "dependencies": {
- "@octokit/types": "^6.0.0"
- }
- },
- "node_modules/@octokit/endpoint": {
- "version": "6.0.10",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.10.tgz",
- "integrity": "sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==",
- "dev": true,
- "dependencies": {
- "@octokit/types": "^6.0.0",
- "is-plain-object": "^5.0.0",
- "universal-user-agent": "^6.0.0"
- }
- },
- "node_modules/@octokit/endpoint/node_modules/universal-user-agent": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
- "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
- "dev": true
- },
- "node_modules/@octokit/openapi-types": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-1.2.2.tgz",
- "integrity": "sha512-vrKDLd/Rq4IE16oT+jJkDBx0r29NFkdkU8GwqVSP4RajsAvP23CMGtFhVK0pedUhAiMvG1bGnFcTC/xCKaKgmw==",
- "dev": true
- },
- "node_modules/@octokit/plugin-paginate-rest": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz",
- "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==",
- "dev": true,
- "dependencies": {
- "@octokit/types": "^2.0.1"
- }
- },
- "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
- "version": "2.16.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
- "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
- "dev": true,
- "dependencies": {
- "@types/node": ">= 8"
- }
- },
- "node_modules/@octokit/plugin-request-log": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz",
- "integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==",
- "dev": true
- },
- "node_modules/@octokit/plugin-rest-endpoint-methods": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz",
- "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==",
- "dev": true,
- "dependencies": {
- "@octokit/types": "^2.0.1",
- "deprecation": "^2.3.1"
- }
- },
- "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
- "version": "2.16.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
- "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
- "dev": true,
- "dependencies": {
- "@types/node": ">= 8"
- }
- },
- "node_modules/@octokit/request": {
- "version": "5.4.11",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.11.tgz",
- "integrity": "sha512-vskebNjuz4oTdPIv+9cQjHvjk8vjrMv2fOmSo6zr7IIaFHeVsJlG/C07MXiSS/+g/qU1GHjkPG1XW3faz57EoQ==",
- "dev": true,
- "dependencies": {
- "@octokit/endpoint": "^6.0.1",
- "@octokit/request-error": "^2.0.0",
- "@octokit/types": "^6.0.0",
- "deprecation": "^2.0.0",
- "is-plain-object": "^5.0.0",
- "node-fetch": "^2.6.1",
- "once": "^1.4.0",
- "universal-user-agent": "^6.0.0"
- }
- },
- "node_modules/@octokit/request-error": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz",
- "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==",
- "dev": true,
- "dependencies": {
- "@octokit/types": "^2.0.0",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
- }
- },
- "node_modules/@octokit/request-error/node_modules/@octokit/types": {
- "version": "2.16.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
- "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
- "dev": true,
- "dependencies": {
- "@types/node": ">= 8"
- }
- },
- "node_modules/@octokit/request/node_modules/@octokit/request-error": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.4.tgz",
- "integrity": "sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==",
- "dev": true,
- "dependencies": {
- "@octokit/types": "^6.0.0",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
- }
- },
- "node_modules/@octokit/request/node_modules/universal-user-agent": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
- "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
- "dev": true
- },
- "node_modules/@octokit/rest": {
- "version": "16.43.2",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz",
- "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==",
- "dev": true,
- "dependencies": {
- "@octokit/auth-token": "^2.4.0",
- "@octokit/plugin-paginate-rest": "^1.1.1",
- "@octokit/plugin-request-log": "^1.0.0",
- "@octokit/plugin-rest-endpoint-methods": "2.4.0",
- "@octokit/request": "^5.2.0",
- "@octokit/request-error": "^1.0.2",
- "atob-lite": "^2.0.0",
- "before-after-hook": "^2.0.0",
- "btoa-lite": "^1.0.0",
- "deprecation": "^2.0.0",
- "lodash.get": "^4.4.2",
- "lodash.set": "^4.3.2",
- "lodash.uniq": "^4.5.0",
- "octokit-pagination-methods": "^1.1.0",
- "once": "^1.4.0",
- "universal-user-agent": "^4.0.0"
- }
- },
- "node_modules/@octokit/types": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.0.1.tgz",
- "integrity": "sha512-H/DnTKC+U09en2GFLH/MfAPNDaYb1isieD4Hx4NLpEt/I1PgtZP/8a+Ehc/j9GHuVF/UvGtOVD8AF9XXvws53w==",
- "dev": true,
- "dependencies": {
- "@octokit/openapi-types": "^1.2.0",
- "@types/node": ">= 8"
- }
- },
- "node_modules/@ts-common/add-position": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/@ts-common/add-position/-/add-position-0.0.2.tgz",
- "integrity": "sha512-ENfIN5410jyxqXbQZXmj1ifFPjnhXOuJdQjglDXhLR8vyD74PTUz277BN9Voua2DKeOjlAnyBK7ml1ciMsBqhw==",
- "dev": true,
- "dependencies": {
- "@ts-common/iterator": "^0.3.5"
- }
- },
- "node_modules/@ts-common/async-iterator": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@ts-common/async-iterator/-/async-iterator-0.2.3.tgz",
- "integrity": "sha512-szLdrutwQxBCIECaO2RTFcUPFj+9QVk4xKAj+APgeeLoEs67tNjXFgvfU0kOfF04qTHlPNPqcutSqxMHqzG3qA==",
- "dev": true,
- "dependencies": {
- "@ts-common/iterator": "^0.3.6",
- "tslib": "^1.10.0"
- }
- },
- "node_modules/@ts-common/commonmark-to-markdown": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ts-common/commonmark-to-markdown/-/commonmark-to-markdown-1.2.0.tgz",
- "integrity": "sha1-Gy257ada2oNjbwcopc3sic0D08M=",
- "dev": true,
- "dependencies": {
- "@ts-common/iterator": "^0.3.0",
- "@types/commonmark": "^0.27.3",
- "commonmark": "^0.28.1",
- "front-matter": "^3.0.1"
- }
- },
- "node_modules/@ts-common/commonmark-to-markdown/node_modules/commonmark": {
- "version": "0.28.1",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz",
- "integrity": "sha1-Buq41SM4uDn6Gi11rwCF7tGxvq4=",
- "dev": true,
- "dependencies": {
- "entities": "~ 1.1.1",
- "mdurl": "~ 1.0.1",
- "minimist": "~ 1.2.0",
- "string.prototype.repeat": "^0.2.0"
- },
- "bin": {
- "commonmark": "bin/commonmark"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@ts-common/fs": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@ts-common/fs/-/fs-0.2.0.tgz",
- "integrity": "sha1-FMvf3smooaVjKNr1Ztm8k7iJgrk=",
- "dev": true,
- "dependencies": {
- "@ts-common/async-iterator": "^0.2.0",
- "@types/node": "^10.12.18",
- "tslib": "^1.9.3"
- }
- },
- "node_modules/@ts-common/iterator": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/@ts-common/iterator/-/iterator-0.3.6.tgz",
- "integrity": "sha1-/6FLXYkTxIMKXSMdPssHXQLKfm0=",
- "dev": true
- },
- "node_modules/@ts-common/json": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@ts-common/json/-/json-0.3.1.tgz",
- "integrity": "sha512-vaplNdZPdeWr4p+hLJGdn08UMTSgYQrlRtxrAS0fAWyMlmFalBm/XRhHnohgiflRaj2jxl7ZxihjNlC/LZ/1YQ==",
- "dev": true,
- "dependencies": {
- "@ts-common/iterator": "^0.3.1",
- "@ts-common/string-map": "^0.3.0"
- }
- },
- "node_modules/@ts-common/json-parser": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@ts-common/json-parser/-/json-parser-0.9.0.tgz",
- "integrity": "sha512-how0z/Ak7Bay+feIYfJFVV8UMw8Ky2Czoo5XwN7QigCOlN4HyW6wSNup4zrZ7t6NUB0002tW/+IOKCH2lAVJOg==",
- "dev": true,
- "dependencies": {
- "@ts-common/add-position": "0.0.2",
- "@ts-common/iterator": "^0.3.5",
- "@ts-common/json": "^0.3.1",
- "@ts-common/source-map": "^0.5.0",
- "@ts-common/string-map": "^0.3.0",
- "tslib": "^1.9.3"
- }
- },
- "node_modules/@ts-common/property-set": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@ts-common/property-set/-/property-set-0.1.0.tgz",
- "integrity": "sha512-Mw/CPiksQI/Tvp8/bmne6ZYmOcgHuMOrflairbzdpfgMz7lrINFu8PyDQw6yTnIASeZR4yW0xljb66gCE4Jj0w==",
- "dev": true
- },
- "node_modules/@ts-common/source-map": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@ts-common/source-map/-/source-map-0.5.0.tgz",
- "integrity": "sha512-aKFWvuN5uALt+hUtkPA4gHjtloDy2qHW1FB1r758KCTI0h0lP3dNJGcfwg7NnmD0qKQiZAY/J73/NYrbuTfT3A==",
- "dev": true,
- "dependencies": {
- "@ts-common/iterator": "^0.3.0",
- "@ts-common/json": "^0.3.0",
- "@ts-common/property-set": "^0.1.0",
- "@ts-common/string-map": "^0.3.0"
- }
- },
- "node_modules/@ts-common/string-map": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@ts-common/string-map/-/string-map-0.3.0.tgz",
- "integrity": "sha512-tikHtQPV/R48VAnlolyl1FIHciror68LXyruelvYf+lRE6ysjIGB2iNyw7wN6aDcUs2wN/CD6fF8Ye7lVIWNTQ==",
- "dev": true,
- "dependencies": {
- "@ts-common/iterator": "^0.3.0"
- }
- },
- "node_modules/@ts-common/virtual-fs": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@ts-common/virtual-fs/-/virtual-fs-0.3.0.tgz",
- "integrity": "sha512-ryoXw52FTLhiexoNBA/hcAlW8gxPhrKEuZODgpCiF0wswNJdg/j+rCb9k1VppJdeIJ30b0Wg+2vPsrOrdnYTIw==",
- "dev": true,
- "dependencies": {
- "@ts-common/fs": "^0.2.0",
- "@ts-common/iterator": "^0.3.0",
- "@types/async-retry": "^1.4.1",
- "@types/node-fetch": "^2.5.5",
- "async-retry": "^1.3.1",
- "node-fetch": "^2.6.0"
- }
- },
- "node_modules/@types/async-retry": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/@types/async-retry/-/async-retry-1.4.2.tgz",
- "integrity": "sha512-GUDuJURF0YiJZ+CBjNQA0+vbP/VHlJbB0sFqkzsV7EcOPRfurVonXpXKAt3w8qIjM1TEzpz6hc6POocPvHOS3w==",
- "dev": true,
- "dependencies": {
- "@types/retry": "*"
- }
- },
- "node_modules/@types/commonmark": {
- "version": "0.27.4",
- "resolved": "https://registry.npmjs.org/@types/commonmark/-/commonmark-0.27.4.tgz",
- "integrity": "sha512-7koSjp08QxKoS1/+3T15+kD7+vqOUvZRHvM8PutF3Xsk5aAEkdlIGRsHJ3/XsC3izoqTwBdRW/vH7rzCKkIicA==",
- "dev": true
- },
- "node_modules/@types/glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
- "dev": true,
- "dependencies": {
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/js-yaml": {
- "version": "3.12.1",
- "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.1.tgz",
- "integrity": "sha512-SGGAhXLHDx+PK4YLNcNGa6goPf9XRWQNAUUbffkwVGGXIxmDKWyGGL4inzq2sPmExu431Ekb9aEMn9BkPqEYFA==",
- "dev": true
- },
- "node_modules/@types/jsonpath": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@types/jsonpath/-/jsonpath-0.2.0.tgz",
- "integrity": "sha512-v7qlPA0VpKUlEdhghbDqRoKMxFB3h3Ch688TApBJ6v+XLDdvWCGLJIYiPKGZnS6MAOie+IorCfNYVHOPIHSWwQ==",
- "dev": true
- },
- "node_modules/@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
- "dev": true
- },
- "node_modules/@types/mocha": {
- "version": "5.2.7",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz",
- "integrity": "sha1-MV1XDMtWxTRS/4Y4c432BybVtuo=",
- "dev": true
- },
- "node_modules/@types/node": {
- "version": "10.14.16",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.16.tgz",
- "integrity": "sha512-/opXIbfn0P+VLt+N8DE4l8Mn8rbhiJgabU96ZJ0p9mxOkIks5gh6RUnpHak7Yh0SFkyjO/ODbxsQQPV2bpMmyA==",
- "dev": true
- },
- "node_modules/@types/node-fetch": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz",
- "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "form-data": "^3.0.0"
- }
- },
- "node_modules/@types/prettier": {
- "version": "1.18.3",
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.18.3.tgz",
- "integrity": "sha512-48rnerQdcZ26odp+HOvDGX8IcUkYOCuMc2BodWYTe956MqkHlOGAG4oFQ83cjZ0a4GAgj7mb4GUClxYd2Hlodg==",
- "dev": true
- },
- "node_modules/@types/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
- "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
- "dev": true
- },
- "node_modules/abab": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
- "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
- "dev": true
- },
- "node_modules/abbrev": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
- "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
- "dev": true
- },
- "node_modules/acorn": {
- "version": "5.7.4",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
- "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-globals": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
- "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
- "dev": true,
- "dependencies": {
- "acorn": "^6.0.1",
- "acorn-walk": "^6.0.1"
- }
- },
- "node_modules/acorn-globals/node_modules/acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
- "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
- "dependencies": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "node_modules/amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true,
- "optional": true,
- "engines": {
- "node": ">=0.4.2"
- }
- },
- "node_modules/ansi-colors": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
- "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/append-transform": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
- "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
- "dev": true,
- "dependencies": {
- "default-require-extensions": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/archy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
- "dev": true
- },
- "node_modules/arg": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz",
- "integrity": "sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==",
- "dev": true
- },
- "node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/array-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
- "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
- "dev": true
- },
- "node_modules/array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "dependencies": {
- "array-uniq": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
- "dependencies": {
- "safer-buffer": "~2.1.0"
- }
- },
- "node_modules/assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/async": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
- "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",
- "dev": true
- },
- "node_modules/async-limiter": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
- "dev": true
- },
- "node_modules/async-retry": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz",
- "integrity": "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==",
- "dev": true,
- "dependencies": {
- "retry": "0.12.0"
- }
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
- },
- "node_modules/atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true,
- "bin": {
- "atob": "bin/atob.js"
- },
- "engines": {
- "node": ">= 4.5.0"
- }
- },
- "node_modules/atob-lite": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz",
- "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=",
- "dev": true
- },
- "node_modules/autorest": {
- "version": "2.0.4413",
- "resolved": "https://registry.npmjs.org/autorest/-/autorest-2.0.4413.tgz",
- "integrity": "sha512-Ttx/O6Yag5q8fpJDvllgf/joLuVPBySkbAqDF7+9jAmscCPQplYjA9H/N12bwkhh+6YR3ugWZHQq3NTN33hkAg==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "autorest": "dist/app.js"
- },
- "engines": {
- "node": ">=10.12.0"
- }
- },
- "node_modules/aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
- "dev": true
- },
- "node_modules/balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
- },
- "node_modules/base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
- "dependencies": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/base/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
- "dependencies": {
- "tweetnacl": "^0.14.3"
- }
- },
- "node_modules/before-after-hook": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
- "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
- "dev": true
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "dependencies": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/braces/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/browser-process-hrtime": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
- "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
- "dev": true
- },
- "node_modules/browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
- },
- "node_modules/btoa-lite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
- "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=",
- "dev": true
- },
- "node_modules/buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "node_modules/cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "dependencies": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/caching-transform": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
- "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
- "dev": true,
- "dependencies": {
- "hasha": "^5.0.0",
- "make-dir": "^3.0.0",
- "package-hash": "^4.0.0",
- "write-file-atomic": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/call-me-maybe": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
- "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
- "dev": true
- },
- "node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
- },
- "node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/chalk/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/chalk/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "dev": true,
- "dependencies": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/class-utils/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
- }
- },
- "node_modules/cliui/node_modules/ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/cliui/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "dev": true,
- "dependencies": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/clone-deep/node_modules/is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "dependencies": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/color": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz",
- "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.1",
- "color-string": "^1.5.2"
- }
- },
- "node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "node_modules/color-string": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz",
- "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==",
- "dev": true,
- "dependencies": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
- },
- "node_modules/colors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
- "dev": true,
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/colorspace": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz",
- "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==",
- "dev": true,
- "dependencies": {
- "color": "3.0.x",
- "text-hex": "1.0.x"
- }
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/comment-json": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-1.1.3.tgz",
- "integrity": "sha1-aYbDMw/uDEyeAMI5jNYa+l2PI54=",
- "dev": true,
- "dependencies": {
- "json-parser": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
- "dev": true
- },
- "node_modules/commonmark": {
- "version": "0.29.2",
- "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.29.2.tgz",
- "integrity": "sha512-spe43MvEIaPpHss1T7z4yQaFQfLGmMu+yvCwv6xqhELIwkG/ZGgDpxOPzKxnuYzYT2c+aziCCc8m2rBVLA7jUA==",
- "dev": true,
- "dependencies": {
- "entities": "~2.0",
- "mdurl": "~1.0.1",
- "minimist": ">=1.2.2",
- "string.prototype.repeat": "^0.2.0"
- },
- "bin": {
- "commonmark": "bin/commonmark"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/commonmark/node_modules/entities": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
- "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
- "dev": true
- },
- "node_modules/component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
- "dev": true
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "node_modules/configstore": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.0.tgz",
- "integrity": "sha512-eE/hvMs7qw7DlcB5JPRnthmrITuHMmACUJAp89v6PT6iOqzoLS7HRWhBtuHMlhNHo2AhUSA/3Dh1bKNJHcublQ==",
- "dev": true,
- "dependencies": {
- "dot-prop": "^5.1.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/convert-source-map": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
- "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.1"
- }
- },
- "node_modules/cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
- "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==",
- "dev": true
- },
- "node_modules/copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/core-js": {
- "version": "2.6.12",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
- "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
- "dev": true,
- "hasInstallScript": true
- },
- "node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
- "node_modules/cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "dependencies": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "engines": {
- "node": ">=4.8"
- }
- },
- "node_modules/crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cspell": {
- "version": "4.0.30",
- "resolved": "https://registry.npmjs.org/cspell/-/cspell-4.0.30.tgz",
- "integrity": "sha512-dazX00rCgRSL8TAphqFSw7D9p3QdBGh09J8/bFH+hLpz01Yry/XzXjDiyKPlAXFkeFH5Sikgq0Cy/t3cHaLBeQ==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.4.2",
- "commander": "^2.20.0",
- "comment-json": "^1.1.3",
- "cspell-glob": "^0.1.11",
- "cspell-lib": "^4.1.0",
- "fs-extra": "^8.1.0",
- "gensequence": "^2.1.2",
- "get-stdin": "^7.0.0",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- },
- "bin": {
- "cspell": "bin.js"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/cspell-dict-companies": {
- "version": "1.0.15",
- "resolved": "https://registry.npmjs.org/cspell-dict-companies/-/cspell-dict-companies-1.0.15.tgz",
- "integrity": "sha512-IS3rnqkkZhgyKVsure5g+88q3PyLpgZw3xRB3Fo2W30NgoNW2Zpbh4/H6NR839f94IX2/qUvM/zanQy0B7ogMQ==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-companies-link": "link.js",
- "cspell-dict-companies-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-cpp": {
- "version": "1.1.23",
- "resolved": "https://registry.npmjs.org/cspell-dict-cpp/-/cspell-dict-cpp-1.1.23.tgz",
- "integrity": "sha512-vR24jdt3oCE51sfrTPEmzlw1JVltKNkUnS/1kjeauY5VAQjx04Q1XOBPHJHmTNRXdmcX/MvNFR8z3qbpC2pbMA==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-cpp-link": "link.js",
- "cspell-dict-cpp-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-django": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/cspell-dict-django/-/cspell-dict-django-1.0.12.tgz",
- "integrity": "sha512-ChBzWNltlqIs7FSYjQV6qTdkxt4VFQJm2XGlfIoNUZ1kwrOpzVdEUuVpRhWtj9NVB6AJqJxWjm/HzVvMYEY2cg==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-django-link": "link.js",
- "cspell-dict-django-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-elixir": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cspell-dict-elixir/-/cspell-dict-elixir-1.0.10.tgz",
- "integrity": "sha512-Z+9K1ZHGo5XnbS2AZ5DG2bpEA9wJ4BdsTa69VIqPgZ6vEfVLqeMidk70FF0Y/DY49+Qyg3ngY0WyE5Je/Romzw==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-elixir-link": "link.js",
- "cspell-dict-elixir-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-en_us": {
- "version": "1.2.18",
- "resolved": "https://registry.npmjs.org/cspell-dict-en_us/-/cspell-dict-en_us-1.2.18.tgz",
- "integrity": "sha512-P2TRblBVd9KOfwjvI5mxzEXMGBvvTIfqcKSQ+0RbpwC2S4ImW9k++LYxy9LtfSRmdSGjHbejYYtsrgvId1KcoA==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-en-us-link": "link.js",
- "cspell-dict-en-us-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-en-gb": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-en-gb/-/cspell-dict-en-gb-1.1.11.tgz",
- "integrity": "sha512-UnmAeMDzf/YeXuI85BIaQzpArXlt+m+I9S9uy88nvUfq6goOfUFN8Axh0idDtqsFNoaMS5TgSzvjP7DgMXArYg==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-en-gb-link": "link.js",
- "cspell-dict-en-gb-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-fullstack": {
- "version": "1.0.18",
- "resolved": "https://registry.npmjs.org/cspell-dict-fullstack/-/cspell-dict-fullstack-1.0.18.tgz",
- "integrity": "sha512-vEVf+ppML1PP9vdfkXnydABIYNyDORVN28sniBo0ILLhqFjCJvs1SNQuZxWhak5sgSZ9z4xiHU9TqCEUqhf1jw==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-fullstack-link": "link.js",
- "cspell-dict-fullstack-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-golang": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/cspell-dict-golang/-/cspell-dict-golang-1.1.12.tgz",
- "integrity": "sha512-G3D5CIJfwPdzpgM/N5d/9hImG637GHn3FUkPzC3Kz1QN2G6JTwTAYPnsKybvLE80U9PUwrylZTZBM+cRZSWPzQ==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-golang-link": "link.js",
- "cspell-dict-golang-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-haskell": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cspell-dict-haskell/-/cspell-dict-haskell-1.0.2.tgz",
- "integrity": "sha512-d+pFdRUGZjusiXRqWW05pZqeFKsR5Nvrp/8qlowp/mwNFRBoMzrrAHnP7DZrfo/zHHpzCR3SnmT0ImnCv2MDcQ==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-haskell-link": "link.js",
- "cspell-dict-haskell-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-html-symbol-entities": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-html-symbol-entities/-/cspell-dict-html-symbol-entities-1.0.11.tgz",
- "integrity": "sha512-8uqZOa+8jDg/FH1LPfwfgOWT/0+3CXPWoWf4t+SjEhNVRoih2HVweQZCwVr+CsmEHgVON8Tem3OWwz+e1zJwNA==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-html-symbol-entities-link": "link.js",
- "cspell-dict-html-symbol-entities-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-java": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cspell-dict-java/-/cspell-dict-java-1.0.10.tgz",
- "integrity": "sha512-GKgJ+HSii7Xp+LT0Gajy4ipcQgapwsM3fmmZS6pZBZMoodJ0BRzga6QZrBuJSHVhSBV4rFIPJwI4oBGYZCGSpQ==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-java-link": "link.js",
- "cspell-dict-java-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-latex": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-latex/-/cspell-dict-latex-1.0.11.tgz",
- "integrity": "sha512-z/mejOvZAHIL76wnk7i/RT1v1IkSCYlk1l8pLW8l/KA76MCdNAB5xA6zfyBCftbhEOBJA9Fx60JU2T2aba4isg==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-latex-link": "link.js",
- "cspell-dict-latex-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-lorem-ipsum": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cspell-dict-lorem-ipsum/-/cspell-dict-lorem-ipsum-1.0.10.tgz",
- "integrity": "sha512-UlboQ3xH+D3l+hemLO4J5yz8EM60SH91f1dJIy2s94AeePZXtwYh1hTFM5dEsXI2CAQkfTu3ZdPWflLsInPfrA==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-lorem-ipsum-link": "link.js",
- "cspell-dict-lorem-ipsum-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-php": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-php/-/cspell-dict-php-1.0.11.tgz",
- "integrity": "sha512-0aC8PWVqEVg5II9+U9DBcUv6k9x1DpclH7l5cbvoiR8u69O/LnVlnSol1nSdzAwBhC6fWQ9mfOiMyDIHNZ2GfA==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-php-link": "link.js",
- "cspell-dict-php-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-powershell": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/cspell-dict-powershell/-/cspell-dict-powershell-1.0.3.tgz",
- "integrity": "sha512-YHVe8NkjtZmBvdclXev7dkoTODxweiq8H/Z8N0H5jc8pW1IJGBIXIFxlk1AjRW3bS19D5OZIx13J8ims6i5s8w==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-powershell-link": "link.js",
- "cspell-dict-powershell-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-python": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/cspell-dict-python/-/cspell-dict-python-1.0.14.tgz",
- "integrity": "sha512-w8kevjvayndKkZqY4yt877UzGXUNTG6gB0zoeOCVxnAFFqTexVvmJ9Johc+eOdqd+dnUu6gF8XfX4ZdX5J+Rxw==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-python-link": "link.js",
- "cspell-dict-python-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-rust": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/cspell-dict-rust/-/cspell-dict-rust-1.0.10.tgz",
- "integrity": "sha512-iwWMVqOMnkTtb2Z50pGs+x9HM6ghqVotVguqgeJUVD62gqjHMHOTXAw/p7e8VFMXEPfVJeCZg3KGT3Ut6b+8Zg==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-rust-link": "link.js",
- "cspell-dict-rust-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-dict-scala": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/cspell-dict-scala/-/cspell-dict-scala-1.0.9.tgz",
- "integrity": "sha512-wWMjYe4OLFqeQpHYqBoAlXCwEgANu4DuJIg8Vg9Ig8arzobWX9uzmSwsicyGKtCjyno99/MIHAhksTTr7ccMzQ==",
- "dev": true,
- "dependencies": {
- "configstore": "^5.0.0"
- },
- "bin": {
- "cspell-dict-scala-link": "link.js",
- "cspell-dict-scala-unlink": "unlink.js"
- }
- },
- "node_modules/cspell-glob": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-0.1.11.tgz",
- "integrity": "sha512-1s9539g+AB+V0gX4TPfCvhwWYso/fKlWQIX5w31BuqLjV6e8542x9vpdO/GS7aq1y1vec4ocx0B9I/d1SGFDSg==",
- "dev": true,
- "dependencies": {
- "micromatch": "^4.0.2"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/cspell-glob/node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cspell-glob/node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cspell-glob/node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/cspell-glob/node_modules/micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cspell-glob/node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/cspell-io": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-4.0.18.tgz",
- "integrity": "sha512-gE3C9bzE8+1W0ThLZ5xeYY5/xqbvUTtnEdsSGQ4VStNyAzcMTzfvWDTtL478z4luAiOxiyNPtQ4clWLGAugSJQ==",
- "dev": true,
- "dependencies": {
- "iconv-lite": "^0.4.24",
- "iterable-to-stream": "^1.0.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/cspell-lib": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-4.1.0.tgz",
- "integrity": "sha512-2ems0LpIONO51TIQRSiLvECR8RLT8dE2kcEtJS1TVAbh3VQMB2KnAWLLcbBCgqqmCRnYZ/hDrRScd5ZJ+9uZxQ==",
- "dev": true,
- "dependencies": {
- "comment-json": "^1.1.3",
- "configstore": "^5.0.0",
- "cspell-dict-companies": "^1.0.12",
- "cspell-dict-cpp": "^1.1.21",
- "cspell-dict-django": "^1.0.12",
- "cspell-dict-elixir": "^1.0.10",
- "cspell-dict-en_us": "^1.2.18",
- "cspell-dict-en-gb": "^1.1.11",
- "cspell-dict-fullstack": "^1.0.15",
- "cspell-dict-golang": "^1.1.12",
- "cspell-dict-haskell": "^1.0.2",
- "cspell-dict-html-symbol-entities": "^1.0.11",
- "cspell-dict-java": "^1.0.10",
- "cspell-dict-latex": "^1.0.11",
- "cspell-dict-lorem-ipsum": "^1.0.10",
- "cspell-dict-php": "^1.0.11",
- "cspell-dict-powershell": "^1.0.2",
- "cspell-dict-python": "^1.0.14",
- "cspell-dict-rust": "^1.0.10",
- "cspell-dict-scala": "^1.0.9",
- "cspell-io": "^4.0.18",
- "cspell-trie-lib": "^4.1.0",
- "cspell-util-bundle": "^4.0.5",
- "fs-extra": "^8.1.0",
- "gensequence": "^2.1.2",
- "vscode-uri": "^2.0.3"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/cspell-lib/node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/cspell-trie-lib": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-4.1.0.tgz",
- "integrity": "sha512-R7omOBBhiz1yu0Wp1an1Vcv+upNREQEel8c4XcUp3kJFpQIP39T4KQc4+oJ4D1g5To3flB0567vVuLAY9orMdg==",
- "dev": true,
- "dependencies": {
- "gensequence": "^2.1.2",
- "js-xxhash": "^1.0.1"
- },
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/cspell-util-bundle": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/cspell-util-bundle/-/cspell-util-bundle-4.0.5.tgz",
- "integrity": "sha512-luu/xIjoTRt82eJJxf77fhgjU6XJve+CfoTyfejOj7niYDRvoZkt0rTSHPgTI6MADjaZxlCLleSihEgqidt5WQ==",
- "dev": true,
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/cspell/node_modules/commander": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
- "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
- "dev": true
- },
- "node_modules/cspell/node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true
- },
- "node_modules/cssstyle": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz",
- "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==",
- "dev": true,
- "dependencies": {
- "cssom": "0.3.x"
- }
- },
- "node_modules/cycle": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
- "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/data-urls": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
- "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
- "dev": true,
- "dependencies": {
- "abab": "^2.0.0",
- "whatwg-mimetype": "^2.2.0",
- "whatwg-url": "^7.0.0"
- }
- },
- "node_modules/data-urls/node_modules/whatwg-url": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
- "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
- "dev": true,
- "dependencies": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
- }
- },
- "node_modules/debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true,
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
- },
- "node_modules/default-require-extensions": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
- "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
- "dev": true,
- "dependencies": {
- "strip-bom": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "dev": true,
- "dependencies": {
- "object-keys": "^1.0.12"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-property/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-property/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-property/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/deprecation": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
- "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
- "dev": true
- },
- "node_modules/diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
- "dev": true,
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/dir-glob": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
- "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
- "dev": true,
- "dependencies": {
- "path-type": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/domexception": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
- "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
- "dev": true,
- "dependencies": {
- "webidl-conversions": "^4.0.2"
- }
- },
- "node_modules/dot-prop": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
- "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
- "dev": true,
- "dependencies": {
- "is-obj": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/drange": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/drange/-/drange-1.1.1.tgz",
- "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/duplexer": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
- "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
- "dev": true
- },
- "node_modules/ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
- "dependencies": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "node_modules/emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
- },
- "node_modules/enabled": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
- "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==",
- "dev": true
- },
- "node_modules/end-of-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
- "dev": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true
- },
- "node_modules/es-abstract": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
- "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
- "dev": true,
- "dependencies": {
- "es-to-primitive": "^1.2.0",
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "is-callable": "^1.1.4",
- "is-regex": "^1.0.4",
- "object-keys": "^1.0.12"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
- "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
- "dev": true,
- "dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es6-error": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
- "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
- "dev": true
- },
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/escodegen": {
- "version": "1.14.3",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
- "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
- "dev": true,
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=4.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "node_modules/escodegen/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "dependencies": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/expand-brackets/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expand-brackets/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
- },
- "node_modules/extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "dependencies": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extend-shallow/node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "dependencies": {
- "is-plain-object": "^2.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extend-shallow/node_modules/is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "dependencies": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extglob/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ]
- },
- "node_modules/eyes": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
- "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
- "dev": true,
- "engines": {
- "node": "> 0.1.90"
- }
- },
- "node_modules/faker": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/faker/-/faker-4.1.0.tgz",
- "integrity": "sha1-HkW7vsxndLPBlfrSg1EJxtdIzD8=",
- "dev": true
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "node_modules/fast-glob": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
- "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
- "dev": true,
- "dependencies": {
- "@mrmlnc/readdir-enhanced": "^2.2.1",
- "@nodelib/fs.stat": "^1.1.2",
- "glob-parent": "^3.1.0",
- "is-glob": "^4.0.0",
- "merge2": "^1.2.3",
- "micromatch": "^3.1.10"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "node_modules/fast-safe-stringify": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
- "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==",
- "dev": true
- },
- "node_modules/fecha": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz",
- "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==",
- "dev": true
- },
- "node_modules/fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fill-range/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/find-cache-dir": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
- "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
- "dev": true,
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-cache-dir/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "dependencies": {
- "locate-path": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/flat": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz",
- "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==",
- "dev": true,
- "dependencies": {
- "is-buffer": "~2.0.3"
- },
- "bin": {
- "flat": "cli.js"
- }
- },
- "node_modules/flat/node_modules/is-buffer": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
- "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/fn.name": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
- "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==",
- "dev": true
- },
- "node_modules/for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/foreach": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
- "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
- "dev": true
- },
- "node_modules/foreground-child": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
- "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.0",
- "signal-exit": "^3.0.2"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/foreground-child/node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/foreground-child/node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/foreground-child/node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/foreground-child/node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/foreground-child/node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/form-data": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz",
- "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==",
- "dev": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/format-util": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/format-util/-/format-util-1.0.3.tgz",
- "integrity": "sha1-Ay3KShFiYqEsQ/TD7IVmQWxbLZU=",
- "dev": true
- },
- "node_modules/formidable": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz",
- "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==",
- "dev": true
- },
- "node_modules/fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "dependencies": {
- "map-cache": "^0.2.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fromentries": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
- "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
- "dev": true
- },
- "node_modules/front-matter": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-3.0.2.tgz",
- "integrity": "sha512-iBGZaWyzqgsrPGsqrXZP6N4hp5FzSKDi18nfAoYpgz3qK5sAwFv/ojmn3VS60SOgLvq6CtojNqy0y6ZNz05IzQ==",
- "dev": true,
- "dependencies": {
- "js-yaml": "^3.13.1"
- }
- },
- "node_modules/fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- },
- "engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/gensequence": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-2.1.3.tgz",
- "integrity": "sha512-qa/2k1YSyh6TGVtIMtmwv1tXfq7lkhR8pMtOExfZGuwyaqplMhUxyO/Wrw9fV+37B38WE6egpjSMcwyzlNOoHA==",
- "dev": true
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-package-type": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
- "dev": true,
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/get-stdin": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
- "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0"
- }
- },
- "node_modules/glob": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
- "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "dev": true,
- "dependencies": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- }
- },
- "node_modules/glob-parent/node_modules/is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/glob-to-regexp": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
- "dev": true
- },
- "node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/globby": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
- "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
- "dev": true,
- "dependencies": {
- "@types/glob": "^7.1.1",
- "array-union": "^1.0.2",
- "dir-glob": "^2.2.2",
- "fast-glob": "^2.2.6",
- "glob": "^7.1.3",
- "ignore": "^4.0.3",
- "pify": "^4.0.1",
- "slash": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/globby/node_modules/slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
- "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
- "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
- "dev": true
- },
- "node_modules/graphlib": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz",
- "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.15"
- }
- },
- "node_modules/growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
- "dev": true,
- "engines": {
- "node": ">=4.x"
- }
- },
- "node_modules/handlebars": {
- "version": "4.7.6",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz",
- "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5",
- "neo-async": "^2.6.0",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4",
- "wordwrap": "^1.0.0"
- },
- "bin": {
- "handlebars": "bin/handlebars"
- },
- "engines": {
- "node": ">=0.4.7"
- },
- "optionalDependencies": {
- "uglify-js": "^3.1.4"
- }
- },
- "node_modules/handlebars/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "dev": true,
- "dependencies": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "dependencies": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "dependencies": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-values/node_modules/kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/hasha": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
- "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
- "dev": true,
- "dependencies": {
- "is-stream": "^2.0.0",
- "type-fest": "^0.8.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/hasha/node_modules/is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "dev": true,
- "bin": {
- "he": "bin/he"
- }
- },
- "node_modules/html-encoding-sniffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
- "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
- "dev": true,
- "dependencies": {
- "whatwg-encoding": "^1.0.1"
- }
- },
- "node_modules/html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
- },
- "node_modules/http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "dependencies": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- },
- "engines": {
- "node": ">=0.8",
- "npm": ">=1.3.7"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true,
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-accessor-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
- "dev": true
- },
- "node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "node_modules/is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
- "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- }
- },
- "node_modules/is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-data-descriptor/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-descriptor/node_modules/kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-plain-object": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
- "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
- "dev": true,
- "dependencies": {
- "has": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
- "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "node_modules/is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "node_modules/isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
- },
- "node_modules/istanbul": {
- "version": "0.4.5",
- "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
- "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
- "dev": true,
- "dependencies": {
- "abbrev": "1.0.x",
- "async": "1.x",
- "escodegen": "1.8.x",
- "esprima": "2.7.x",
- "glob": "^5.0.15",
- "handlebars": "^4.0.1",
- "js-yaml": "3.x",
- "mkdirp": "0.5.x",
- "nopt": "3.x",
- "once": "1.x",
- "resolve": "1.1.x",
- "supports-color": "^3.1.0",
- "which": "^1.1.1",
- "wordwrap": "^1.0.0"
- },
- "bin": {
- "istanbul": "lib/cli.js"
- }
- },
- "node_modules/istanbul-lib-coverage": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
- "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-hook": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
- "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
- "dev": true,
- "dependencies": {
- "append-transform": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.7.5",
- "@istanbuljs/schema": "^0.1.2",
- "istanbul-lib-coverage": "^3.0.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/istanbul-lib-processinfo": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz",
- "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==",
- "dev": true,
- "dependencies": {
- "archy": "^1.0.0",
- "cross-spawn": "^7.0.0",
- "istanbul-lib-coverage": "^3.0.0-alpha.1",
- "make-dir": "^3.0.0",
- "p-map": "^3.0.0",
- "rimraf": "^3.0.0",
- "uuid": "^3.3.3"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/istanbul-lib-processinfo/node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-processinfo/node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-processinfo/node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-processinfo/node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/istanbul-lib-report": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
- "dev": true,
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^3.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-report/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-report/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-source-maps": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
- "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
- "dev": true,
- "dependencies": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-source-maps/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/istanbul-reports": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
- "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
- "dev": true,
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul/node_modules/escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
- "dev": true,
- "dependencies": {
- "esprima": "^2.7.1",
- "estraverse": "^1.9.1",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.2.0"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=0.12.0"
- },
- "optionalDependencies": {
- "source-map": "~0.2.0"
- }
- },
- "node_modules/istanbul/node_modules/esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
- "dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/istanbul/node_modules/estraverse": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
- "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/istanbul/node_modules/glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "dependencies": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/istanbul/node_modules/source-map": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
- "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
- "dev": true,
- "optional": true,
- "dependencies": {
- "amdefine": ">=0.0.4"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/iterable-to-stream": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/iterable-to-stream/-/iterable-to-stream-1.0.1.tgz",
- "integrity": "sha512-O62gD5ADMUGtJoOoM9U6LQ7i4byPXUNoHJ6mqsmkQJcom331ZJGDApWgDESWyBMEHEJRjtHozgIiTzYo9RU4UA==",
- "dev": true,
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/js-base64": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
- "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
- "dev": true
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "node_modules/js-xxhash": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/js-xxhash/-/js-xxhash-1.0.4.tgz",
- "integrity": "sha512-S/6Oo7ruxx5k8m4qlMnbpwQdJjRsvvfcIhIk1dA9c5y5GNhYHKYKu9krEK3QgBax6CxJuf4gRL2opgLkdzWIKg==",
- "dev": true,
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
- "dev": true,
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
- },
- "node_modules/jsdom": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
- "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
- "dev": true,
- "dependencies": {
- "abab": "^2.0.0",
- "acorn": "^5.5.3",
- "acorn-globals": "^4.1.0",
- "array-equal": "^1.0.0",
- "cssom": ">= 0.3.2 < 0.4.0",
- "cssstyle": "^1.0.0",
- "data-urls": "^1.0.0",
- "domexception": "^1.0.1",
- "escodegen": "^1.9.1",
- "html-encoding-sniffer": "^1.0.2",
- "left-pad": "^1.3.0",
- "nwsapi": "^2.0.7",
- "parse5": "4.0.0",
- "pn": "^1.1.0",
- "request": "^2.87.0",
- "request-promise-native": "^1.0.5",
- "sax": "^1.2.4",
- "symbol-tree": "^3.2.2",
- "tough-cookie": "^2.3.4",
- "w3c-hr-time": "^1.0.1",
- "webidl-conversions": "^4.0.2",
- "whatwg-encoding": "^1.0.3",
- "whatwg-mimetype": "^2.1.0",
- "whatwg-url": "^6.4.1",
- "ws": "^5.2.0",
- "xml-name-validator": "^3.0.0"
- }
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/json-parser": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/json-parser/-/json-parser-1.1.5.tgz",
- "integrity": "sha1-5i7FJh0aal/CDoEqMgdAxtkAVnc=",
- "dev": true,
- "dependencies": {
- "esprima": "^2.7.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/json-parser/node_modules/esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
- "dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/json-pointer": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.1.tgz",
- "integrity": "sha512-3OvjqKdCBvH41DLpV4iSt6v2XhZXV1bPB4OROuknvUXI7ZQNofieCPkmE26stEJ9zdQuvIxDHCuYhfgxFAAs+Q==",
- "dev": true,
- "dependencies": {
- "foreach": "^2.0.4"
- }
- },
- "node_modules/json-refs": {
- "version": "3.0.15",
- "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz",
- "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==",
- "dev": true,
- "dependencies": {
- "commander": "~4.1.1",
- "graphlib": "^2.1.8",
- "js-yaml": "^3.13.1",
- "lodash": "^4.17.15",
- "native-promise-only": "^0.8.1",
- "path-loader": "^1.0.10",
- "slash": "^3.0.0",
- "uri-js": "^4.2.2"
- },
- "bin": {
- "json-refs": "bin/json-refs"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
- },
- "node_modules/json-schema-faker": {
- "version": "0.5.0-rcv.32",
- "resolved": "https://registry.npmjs.org/json-schema-faker/-/json-schema-faker-0.5.0-rcv.32.tgz",
- "integrity": "sha512-buGuuOhzxrf9FWGFybiGNiflGODIC5doU0r23+3MAOyjMR9/KsKolHANSbQnM4N+mmw/dbv9byT3oKZ1wp8v2A==",
- "dev": true,
- "dependencies": {
- "json-schema-ref-parser": "^6.1.0",
- "jsonpath-plus": "^3.0.0",
- "randexp": "^0.5.3"
- },
- "bin": {
- "jsf": "bin/gen.js"
- }
- },
- "node_modules/json-schema-ref-parser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-6.1.0.tgz",
- "integrity": "sha1-MK80rqtb7gQx2oBdrA6yG1dL9j0=",
- "dev": true,
- "dependencies": {
- "call-me-maybe": "^1.0.1",
- "js-yaml": "^3.12.1",
- "ono": "^4.0.11"
- }
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
- },
- "node_modules/json5": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/jsonpath": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.0.2.tgz",
- "integrity": "sha512-rmzlgFZiQPc6q4HDyK8s9Qb4oxBnI5sF61y/Co5PV0lc3q2bIuRsNdueVbhoSHdKM4fxeimphOAtfz47yjCfeA==",
- "dev": true,
- "hasInstallScript": true,
- "dependencies": {
- "esprima": "1.2.2",
- "static-eval": "2.0.2",
- "underscore": "1.7.0"
- }
- },
- "node_modules/jsonpath-plus": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-3.0.0.tgz",
- "integrity": "sha512-WQwgWEBgn+SJU1tlDa/GiY5/ngRpa9yrSj8n4BYPHcwoxTDaMEaYCHMOn42hIHHDd3CrUoRr3+HpsK0hCKoxzA==",
- "dev": true,
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/jsonpath/node_modules/esprima": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz",
- "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs=",
- "dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/jsonschema": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz",
- "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/jsonschema-draft4": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/jsonschema-draft4/-/jsonschema-draft4-1.0.0.tgz",
- "integrity": "sha1-8K8gBQVPDwrefqIRhhS2ncUS2GU=",
- "dev": true
- },
- "node_modules/jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ],
- "dependencies": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/kuler": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
- "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==",
- "dev": true
- },
- "node_modules/left-pad": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
- "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==",
- "dev": true
- },
- "node_modules/levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true,
- "dependencies": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/linq": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/linq/-/linq-3.2.3.tgz",
- "integrity": "sha512-OI48ncDVi29Hc4g5+hPd58AkI8YtLUFkZWWvvyC+w1+j8PsDi28tLZnbv3+8PvxSiJUEQDihkQjrIrPkFzEFqQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "dependencies": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
- "dev": true
- },
- "node_modules/lodash.flattendeep": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
- "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
- "dev": true
- },
- "node_modules/lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
- "dev": true
- },
- "node_modules/lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
- "dev": true
- },
- "node_modules/lodash.set": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
- "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=",
- "dev": true
- },
- "node_modules/lodash.sortby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
- "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
- "dev": true
- },
- "node_modules/lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
- "dev": true
- },
- "node_modules/log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
- "dev": true,
- "dependencies": {
- "chalk": "^2.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/logform": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz",
- "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==",
- "dev": true,
- "dependencies": {
- "colors": "^1.2.1",
- "fast-safe-stringify": "^2.0.4",
- "fecha": "^4.2.0",
- "ms": "^2.1.1",
- "triple-beam": "^1.3.0"
- }
- },
- "node_modules/logform/node_modules/colors": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
- "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
- "dev": true,
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/macos-release": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz",
- "integrity": "sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/make-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz",
- "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==",
- "dev": true,
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/make-error": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
- "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
- "dev": true
- },
- "node_modules/map-age-cleaner": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
- "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
- "dev": true,
- "dependencies": {
- "p-defer": "^1.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
- "dependencies": {
- "object-visit": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/md5-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-4.0.0.tgz",
- "integrity": "sha512-UC0qFwyAjn4YdPpKaDNw6gNxRf7Mcx7jC1UGCY4boCzgvU2Aoc1mOGzTtrjjLKhM5ivsnhoKpQVxKPp+1j1qwg==",
- "dev": true,
- "bin": {
- "md5-file": "cli.js"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
- "dev": true
- },
- "node_modules/mem": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
- "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
- "dev": true,
- "dependencies": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^2.0.0",
- "p-is-promise": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true,
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.44.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
- "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.27",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
- "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
- "dev": true,
- "dependencies": {
- "mime-db": "1.44.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "node_modules/mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
- "dev": true,
- "dependencies": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mixin-deep/node_modules/is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "dependencies": {
- "is-plain-object": "^2.0.4"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mixin-deep/node_modules/is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
- "dependencies": {
- "minimist": "0.0.8"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/mkdirp/node_modules/minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- },
- "node_modules/mocha": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.0.tgz",
- "integrity": "sha512-qwfFgY+7EKAAUAdv7VYMZQknI7YJSGesxHyhn6qD52DV8UcSZs5XwCifcZGMVIE4a5fbmhvbotxC0DLQ0oKohQ==",
- "dev": true,
- "dependencies": {
- "ansi-colors": "3.2.3",
- "browser-stdout": "1.3.1",
- "debug": "3.2.6",
- "diff": "3.5.0",
- "escape-string-regexp": "1.0.5",
- "find-up": "3.0.0",
- "glob": "7.1.3",
- "growl": "1.10.5",
- "he": "1.2.0",
- "js-yaml": "3.13.1",
- "log-symbols": "2.2.0",
- "minimatch": "3.0.4",
- "mkdirp": "0.5.1",
- "ms": "2.1.1",
- "node-environment-flags": "1.0.5",
- "object.assign": "4.1.0",
- "strip-json-comments": "2.0.1",
- "supports-color": "6.0.0",
- "which": "1.3.1",
- "wide-align": "1.1.3",
- "yargs": "13.2.2",
- "yargs-parser": "13.0.0",
- "yargs-unparser": "1.5.0"
- },
- "bin": {
- "_mocha": "bin/_mocha",
- "mocha": "bin/mocha"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/mocha/node_modules/ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mocha/node_modules/cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- }
- },
- "node_modules/mocha/node_modules/cliui/node_modules/string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mocha/node_modules/glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/mocha/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mocha/node_modules/invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mocha/node_modules/lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
- "dev": true,
- "dependencies": {
- "invert-kv": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/mocha/node_modules/ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- },
- "node_modules/mocha/node_modules/os-locale": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
- "dev": true,
- "dependencies": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/mocha/node_modules/strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mocha/node_modules/supports-color": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz",
- "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/mocha/node_modules/wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "dependencies": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mocha/node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mocha/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mocha/node_modules/wrap-ansi/node_modules/string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mocha/node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/mocha/node_modules/yargs": {
- "version": "13.2.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz",
- "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==",
- "dev": true,
- "dependencies": {
- "cliui": "^4.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "os-locale": "^3.1.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.0.0"
- }
- },
- "node_modules/mocha/node_modules/yargs-parser": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz",
- "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- },
- "node_modules/moment": {
- "version": "2.29.1",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
- "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/ms-rest": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/ms-rest/-/ms-rest-2.5.4.tgz",
- "integrity": "sha512-VeqCbawxRM6nhw0RKNfj7TWL7SL8PB6MypqwgylXCi+u412uvYoyY/kSmO8n06wyd8nIcnTbYToCmSKFMI1mCg==",
- "dev": true,
- "dependencies": {
- "duplexer": "^0.1.1",
- "is-buffer": "^1.1.6",
- "is-stream": "^1.1.0",
- "moment": "^2.21.0",
- "request": "^2.88.0",
- "through": "^2.3.8",
- "tunnel": "0.0.5",
- "uuid": "^3.2.1"
- }
- },
- "node_modules/nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "dev": true,
- "dependencies": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/native-promise-only": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
- "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=",
- "dev": true
- },
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true
- },
- "node_modules/nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
- },
- "node_modules/node-environment-flags": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz",
- "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==",
- "dev": true,
- "dependencies": {
- "object.getownpropertydescriptors": "^2.0.3",
- "semver": "^5.7.0"
- }
- },
- "node_modules/node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
- "dev": true,
- "engines": {
- "node": "4.x || >=6.0.0"
- }
- },
- "node_modules/node-object-hash": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-1.4.2.tgz",
- "integrity": "sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/node-preload": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
- "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
- "dev": true,
- "dependencies": {
- "process-on-spawn": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true,
- "dependencies": {
- "abbrev": "1"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- }
- },
- "node_modules/npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
- "dependencies": {
- "path-key": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/nwsapi": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
- "dev": true
- },
- "node_modules/nyc": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
- "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
- "dev": true,
- "dependencies": {
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "caching-transform": "^4.0.0",
- "convert-source-map": "^1.7.0",
- "decamelize": "^1.2.0",
- "find-cache-dir": "^3.2.0",
- "find-up": "^4.1.0",
- "foreground-child": "^2.0.0",
- "get-package-type": "^0.1.0",
- "glob": "^7.1.6",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-hook": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.0",
- "istanbul-lib-processinfo": "^2.0.2",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "make-dir": "^3.0.0",
- "node-preload": "^0.2.1",
- "p-map": "^3.0.0",
- "process-on-spawn": "^1.0.0",
- "resolve-from": "^5.0.0",
- "rimraf": "^3.0.0",
- "signal-exit": "^3.0.2",
- "spawn-wrap": "^2.0.0",
- "test-exclude": "^6.0.0",
- "yargs": "^15.0.2"
- },
- "bin": {
- "nyc": "bin/nyc.js"
- },
- "engines": {
- "node": ">=8.9"
- }
- },
- "node_modules/nyc/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nyc/node_modules/glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/nyc/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nyc/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nyc/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/oav": {
- "version": "0.22.9",
- "resolved": "https://registry.npmjs.org/oav/-/oav-0.22.9.tgz",
- "integrity": "sha512-HaeA+nduM5tSx++TjPB15vlZrku5x/8dQPSrK1qOtjkc9gpVfIWAAxV+n0vyLMHeKXKNrD+BdYfhxMhHI/P+MQ==",
- "dev": true,
- "dependencies": {
- "@azure/openapi-markdown": "^0.9.2",
- "@microsoft.azure/autorest-extension-base": "1.0.13",
- "@ts-common/commonmark-to-markdown": "^1.2.0",
- "@ts-common/iterator": "^0.3.6",
- "@ts-common/json": "^0.3.1",
- "@ts-common/json-parser": "^0.9.0",
- "@ts-common/property-set": "^0.1.0",
- "@ts-common/source-map": "^0.5.0",
- "@ts-common/string-map": "^0.3.0",
- "@ts-common/virtual-fs": "^0.3.0",
- "@types/jsonpath": "^0.2.0",
- "commonmark": "^0.29.0",
- "glob": "^5.0.15",
- "globby": "^9.2.0",
- "js-yaml": "^3.13.1",
- "json-pointer": "^0.6.0",
- "json-refs": "^3.0.13",
- "jsonpath": "^1.0.1",
- "kind-of": "^6.0.3",
- "linq": "^3.2.0",
- "lodash": "^4.17.15",
- "md5-file": "^4.0.0",
- "moment": "^2.24.0",
- "ms-rest": "^2.5.4",
- "swagger-parser": "^6.0.5",
- "uuid": "^3.3.2",
- "vscode-jsonrpc": "^3.6.2",
- "winston": "^3.2.1",
- "yargs": "^15.4.1",
- "yasway": "^1.10.5",
- "yuml2svg": "^4.2.1",
- "z-schema": "^4.2.2"
- },
- "bin": {
- "oav": "dist/cli.js"
- },
- "engines": {
- "node": ">=10.11.0"
- }
- },
- "node_modules/oav/node_modules/async": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
- "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==",
- "dev": true
- },
- "node_modules/oav/node_modules/glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "dev": true,
- "dependencies": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/oav/node_modules/is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/oav/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/oav/node_modules/winston": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz",
- "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==",
- "dev": true,
- "dependencies": {
- "@dabh/diagnostics": "^2.0.2",
- "async": "^3.1.0",
- "is-stream": "^2.0.0",
- "logform": "^2.2.0",
- "one-time": "^1.0.0",
- "readable-stream": "^3.4.0",
- "stack-trace": "0.0.x",
- "triple-beam": "^1.3.0",
- "winston-transport": "^4.4.0"
- },
- "engines": {
- "node": ">= 6.4.0"
- }
- },
- "node_modules/object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "dev": true,
- "dependencies": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-copy/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-copy/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.getownpropertydescriptors": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
- "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
- "dev": true,
- "dependencies": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.5.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/octokit-pagination-methods": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz",
- "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==",
- "dev": true
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/one-time": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
- "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
- "dev": true,
- "dependencies": {
- "fn.name": "1.x.x"
- }
- },
- "node_modules/ono": {
- "version": "4.0.11",
- "resolved": "https://registry.npmjs.org/ono/-/ono-4.0.11.tgz",
- "integrity": "sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==",
- "dev": true,
- "dependencies": {
- "format-util": "^1.0.3"
- }
- },
- "node_modules/openapi-schema-validation": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/openapi-schema-validation/-/openapi-schema-validation-0.4.2.tgz",
- "integrity": "sha512-K8LqLpkUf2S04p2Nphq9L+3bGFh/kJypxIG2NVGKX0ffzT4NQI9HirhiY6Iurfej9lCu7y4Ndm4tv+lm86Ck7w==",
- "dev": true,
- "dependencies": {
- "jsonschema": "1.2.4",
- "jsonschema-draft4": "^1.0.0",
- "swagger-schema-official": "2.0.0-bab6bed"
- }
- },
- "node_modules/optionator": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
- "dev": true,
- "dependencies": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.6",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "word-wrap": "~1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/os-name": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
- "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
- "dev": true,
- "dependencies": {
- "macos-release": "^2.2.0",
- "windows-release": "^3.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/p-defer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/p-is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
- "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/p-limit": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
- "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
- "dev": true,
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/p-map": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
- "dev": true,
- "dependencies": {
- "aggregate-error": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/package-hash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
- "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.1.15",
- "hasha": "^5.0.0",
- "lodash.flattendeep": "^4.4.0",
- "release-zalgo": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/parse5": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
- "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
- "dev": true
- },
- "node_modules/pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "dev": true
- },
- "node_modules/path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-loader": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.10.tgz",
- "integrity": "sha512-CMP0v6S6z8PHeJ6NFVyVJm6WyJjIwFvyz2b0n2/4bKdS/0uZa/9sKUlYZzubrn3zuDRU0zIuEDX9DZYQ2ZI8TA==",
- "dev": true,
- "dependencies": {
- "native-promise-only": "^0.8.1",
- "superagent": "^3.8.3"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
- "dev": true
- },
- "node_modules/path-to-regexp": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
- "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
- "dev": true,
- "dependencies": {
- "isarray": "0.0.1"
- }
- },
- "node_modules/path-to-regexp/node_modules/isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "node_modules/path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "dependencies": {
- "pify": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-type/node_modules/pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz",
- "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkg-dir/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkg-dir/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkg-dir/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pkg-dir/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pn": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
- "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
- "dev": true
- },
- "node_modules/posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prettier": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
- "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=",
- "dev": true,
- "bin": {
- "prettier": "bin-prettier.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "node_modules/process-on-spawn": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
- "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
- "dev": true,
- "dependencies": {
- "fromentries": "^1.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
- "dev": true
- },
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/qs": {
- "version": "6.9.4",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz",
- "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/randexp": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.5.3.tgz",
- "integrity": "sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==",
- "dev": true,
- "dependencies": {
- "drange": "^1.0.2",
- "ret": "^0.2.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/randexp/node_modules/ret": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz",
- "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/release-zalgo": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
- "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
- "dev": true,
- "dependencies": {
- "es6-error": "^4.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
- "dev": true,
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "dev": true,
- "dependencies": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/request-promise-core": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
- "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.19"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/request-promise-native": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
- "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
- "dev": true,
- "dependencies": {
- "request-promise-core": "1.1.4",
- "stealthy-require": "^1.1.1",
- "tough-cookie": "^2.3.3"
- },
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/request/node_modules/form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
- "node_modules/request/node_modules/qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true,
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
- "node_modules/resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
- },
- "node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "dev": true
- },
- "node_modules/ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
- "dev": true,
- "engines": {
- "node": ">=0.12"
- }
- },
- "node_modules/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "dev": true,
- "dependencies": {
- "ret": "~0.1.10"
- }
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
- },
- "node_modules/sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
- },
- "node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
- },
- "node_modules/set-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/set-value/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/set-value/node_modules/is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
- },
- "node_modules/simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
- "dev": true,
- "dependencies": {
- "is-arrayish": "^0.3.1"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "dev": true,
- "dependencies": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
- "dependencies": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node/node_modules/define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node/node_modules/is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-node/node_modules/is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "dependencies": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.2.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon-util/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/snapdragon/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon/node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/snapdragon/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "node_modules/snapdragon/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/source-map-resolve": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
- "dev": true,
- "dependencies": {
- "atob": "^2.1.2",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.13",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
- "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
- "dev": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
- "dev": true
- },
- "node_modules/spawn-wrap": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
- "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
- "dev": true,
- "dependencies": {
- "foreground-child": "^2.0.0",
- "is-windows": "^1.0.2",
- "make-dir": "^3.0.0",
- "rimraf": "^3.0.0",
- "signal-exit": "^3.0.2",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/spawn-wrap/node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
- "dependencies": {
- "extend-shallow": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "node_modules/sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
- "dependencies": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/stack-trace": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
- "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/static-eval": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz",
- "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==",
- "dev": true,
- "dependencies": {
- "escodegen": "^1.8.1"
- }
- },
- "node_modules/static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
- "dev": true,
- "dependencies": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/static-extend/node_modules/define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "dependencies": {
- "is-descriptor": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/stealthy-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
- "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/string.prototype.repeat": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz",
- "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=",
- "dev": true
- },
- "node_modules/strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^4.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/strip-bom": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/superagent": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
- "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
- "dev": true,
- "dependencies": {
- "component-emitter": "^1.2.0",
- "cookiejar": "^2.1.0",
- "debug": "^3.1.0",
- "extend": "^3.0.0",
- "form-data": "^2.3.1",
- "formidable": "^1.2.0",
- "methods": "^1.1.1",
- "mime": "^1.4.1",
- "qs": "^6.5.1",
- "readable-stream": "^2.3.5"
- },
- "engines": {
- "node": ">= 4.0"
- }
- },
- "node_modules/superagent/node_modules/form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
- "dev": true,
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
- "node_modules/supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "dev": true,
- "dependencies": {
- "has-flag": "^1.0.0"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/swagger-methods": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/swagger-methods/-/swagger-methods-1.0.8.tgz",
- "integrity": "sha512-G6baCwuHA+C5jf4FNOrosE4XlmGsdjbOjdBK4yuiDDj/ro9uR4Srj3OR84oQMT8F3qKp00tYNv0YN730oTHPZA==",
- "dev": true
- },
- "node_modules/swagger-parser": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/swagger-parser/-/swagger-parser-6.0.5.tgz",
- "integrity": "sha512-UL47eu4+GRm5y+N7J+W6QQiqAJn2lojyqgMwS0EZgA55dXd5xmpQCsjUmH/Rf0eKDiG1kULc9VS515PxAyTDVw==",
- "dev": true,
- "dependencies": {
- "call-me-maybe": "^1.0.1",
- "json-schema-ref-parser": "^6.0.3",
- "ono": "^4.0.11",
- "openapi-schema-validation": "^0.4.2",
- "swagger-methods": "^1.0.8",
- "swagger-schema-official": "2.0.0-bab6bed",
- "z-schema": "^3.24.2"
- }
- },
- "node_modules/swagger-parser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true,
- "optional": true
- },
- "node_modules/swagger-parser/node_modules/z-schema": {
- "version": "3.25.1",
- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.25.1.tgz",
- "integrity": "sha512-7tDlwhrBG+oYFdXNOjILSurpfQyuVgkRe3hB2q8TEssamDHB7BbLWYkYO98nTn0FibfdFroFKDjndbgufAgS/Q==",
- "dev": true,
- "dependencies": {
- "commander": "^2.7.1",
- "core-js": "^2.5.7",
- "lodash.get": "^4.0.0",
- "lodash.isequal": "^4.0.0",
- "validator": "^10.0.0"
- },
- "bin": {
- "z-schema": "bin/z-schema"
- },
- "optionalDependencies": {
- "commander": "^2.7.1"
- }
- },
- "node_modules/swagger-schema-official": {
- "version": "2.0.0-bab6bed",
- "resolved": "https://registry.npmjs.org/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz",
- "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=",
- "dev": true
- },
- "node_modules/symbol-tree": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true
- },
- "node_modules/test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
- "dev": true,
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/text-hex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
- "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==",
- "dev": true
- },
- "node_modules/through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "dev": true,
- "dependencies": {
- "kind-of": "^3.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/to-object-path/node_modules/kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "dependencies": {
- "is-buffer": "^1.1.5"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true,
- "dependencies": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "dev": true,
- "dependencies": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
- "dependencies": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/tr46": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
- "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/triple-beam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
- "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==",
- "dev": true
- },
- "node_modules/ts-node": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz",
- "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==",
- "dev": true,
- "dependencies": {
- "arg": "^4.1.0",
- "diff": "^4.0.1",
- "make-error": "^1.1.1",
- "source-map-support": "^0.5.6",
- "yn": "^3.0.0"
- },
- "bin": {
- "ts-node": "dist/bin.js"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/ts-node/node_modules/diff": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz",
- "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==",
- "dev": true,
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
- "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
- "dev": true
- },
- "node_modules/tunnel": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.5.tgz",
- "integrity": "sha512-gj5sdqherx4VZKMcBA4vewER7zdK25Td+z1npBqpbDys4eJrLx+SlYjJvq1bDXs2irkuJM5pf8ktaEQVipkrbA==",
- "dev": true,
- "engines": {
- "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
- }
- },
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
- },
- "node_modules/type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true,
- "dependencies": {
- "prelude-ls": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "dependencies": {
- "is-typedarray": "^1.0.0"
- }
- },
- "node_modules/typescript": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
- "integrity": "sha1-yDD2V/k/HqhGgZ6SkJL1/lmD6Xc=",
- "dev": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
- "node_modules/uglify-js": {
- "version": "3.12.1",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.1.tgz",
- "integrity": "sha512-o8lHP20KjIiQe5b/67Rh68xEGRrc2SRsCuuoYclXXoC74AfSRGblU1HKzJWH3HxPZ+Ort85fWHpSX7KwBUC9CQ==",
- "dev": true,
- "optional": true,
- "bin": {
- "uglifyjs": "bin/uglifyjs"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/underscore": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
- "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
- "dev": true
- },
- "node_modules/union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
- "dev": true,
- "dependencies": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
- "dev": true,
- "dependencies": {
- "crypto-random-string": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/universal-user-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz",
- "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==",
- "dev": true,
- "dependencies": {
- "os-name": "^3.1.0"
- }
- },
- "node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
- "dev": true,
- "dependencies": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unset-value/node_modules/has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
- "dependencies": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "dependencies": {
- "isarray": "1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/unset-value/node_modules/has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "dev": true
- },
- "node_modules/use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true,
- "bin": {
- "uuid": "bin/uuid"
- }
- },
- "node_modules/validator": {
- "version": "10.11.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz",
- "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
- "engines": [
- "node >=0.6.0"
- ],
- "dependencies": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "node_modules/viz.js": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-2.1.2.tgz",
- "integrity": "sha512-UO6CPAuEMJ8oNR0gLLNl+wUiIzQUsyUOp8SyyDKTqVRBtq7kk1VnFmIZW8QufjxGrGEuI+LVR7p/C7uEKy0LQw==",
- "dev": true
- },
- "node_modules/vscode-jsonrpc": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.6.2.tgz",
- "integrity": "sha512-T24Jb5V48e4VgYliUXMnZ379ItbrXgOimweKaJshD84z+8q7ZOZjJan0MeDe+Ugb+uqERDVV8SBmemaGMSMugA==",
- "dev": true,
- "engines": {
- "node": ">=4.0.0 || >=6.0.0"
- }
- },
- "node_modules/vscode-uri": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.0.3.tgz",
- "integrity": "sha512-4D3DI3F4uRy09WNtDGD93H9q034OHImxiIcSq664Hq1Y1AScehlP3qqZyTkX/RWxeu0MRMHGkrxYqm2qlDF/aw==",
- "dev": true
- },
- "node_modules/w3c-hr-time": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
- "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
- "dev": true,
- "dependencies": {
- "browser-process-hrtime": "^1.0.0"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
- "dev": true
- },
- "node_modules/whatwg-encoding": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
- "dev": true,
- "dependencies": {
- "iconv-lite": "0.4.24"
- }
- },
- "node_modules/whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
- "dev": true
- },
- "node_modules/whatwg-url": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
- "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
- "dev": true,
- "dependencies": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
- }
- },
- "node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
- "node_modules/wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
- "dev": true,
- "dependencies": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "node_modules/wide-align/node_modules/ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/wide-align/node_modules/string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/wide-align/node_modules/strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/windows-release": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz",
- "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==",
- "dev": true,
- "dependencies": {
- "execa": "^1.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/winston": {
- "version": "2.4.5",
- "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz",
- "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==",
- "dev": true,
- "dependencies": {
- "async": "~1.0.0",
- "colors": "1.0.x",
- "cycle": "1.0.x",
- "eyes": "0.1.x",
- "isstream": "0.1.x",
- "stack-trace": "0.0.x"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/winston-transport": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz",
- "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==",
- "dev": true,
- "dependencies": {
- "readable-stream": "^2.3.7",
- "triple-beam": "^1.2.0"
- },
- "engines": {
- "node": ">= 6.4.0"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- },
- "node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/wrap-ansi/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/wrap-ansi/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "node_modules/write-file-atomic": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.0.tgz",
- "integrity": "sha512-EIgkf60l2oWsffja2Sf2AL384dx328c0B+cIYPTQq5q2rOYuDV00/iPFBOUiDKKwKMOhkymH8AidPaRvzfxY+Q==",
- "dev": true,
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "node_modules/ws": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
- "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
- "dev": true,
- "dependencies": {
- "async-limiter": "~1.0.0"
- }
- },
- "node_modules/xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/xml-name-validator": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
- "dev": true
- },
- "node_modules/y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
- "dev": true
- },
- "node_modules/yargs": {
- "version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
- "dev": true,
- "dependencies": {
- "cliui": "^6.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^4.1.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^4.2.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^18.1.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs-parser": {
- "version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/yargs-unparser": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz",
- "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==",
- "dev": true,
- "dependencies": {
- "flat": "^4.1.0",
- "lodash": "^4.17.11",
- "yargs": "^12.0.5"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/yargs-unparser/node_modules/ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/yargs-unparser/node_modules/cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- }
- },
- "node_modules/yargs-unparser/node_modules/get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
- "dev": true
- },
- "node_modules/yargs-unparser/node_modules/invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/yargs-unparser/node_modules/lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
- "dev": true,
- "dependencies": {
- "invert-kv": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/yargs-unparser/node_modules/os-locale": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
- "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
- "dev": true,
- "dependencies": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/yargs-unparser/node_modules/require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
- },
- "node_modules/yargs-unparser/node_modules/string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/yargs-unparser/node_modules/strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/yargs-unparser/node_modules/wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
- "dependencies": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/yargs-unparser/node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/yargs-unparser/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "dependencies": {
- "number-is-nan": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/yargs-unparser/node_modules/wrap-ansi/node_modules/string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "dependencies": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/yargs-unparser/node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/yargs-unparser/node_modules/yargs": {
- "version": "12.0.5",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
- "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
- "dev": true,
- "dependencies": {
- "cliui": "^4.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^11.1.1"
- }
- },
- "node_modules/yargs-unparser/node_modules/yargs-parser": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
- "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
- "dev": true,
- "dependencies": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- },
- "node_modules/yargs/node_modules/ansi-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/yargs/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/string-width": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yasway": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/yasway/-/yasway-1.10.5.tgz",
- "integrity": "sha512-JZ2i8zFaeJkGlsoK0u6x7XC4GN4ftr/I/WJJbzMO+w35JrxHaJ926/fM+Q+vLzMXU+4eoIYeqqUiXdTfrC+d/w==",
- "dev": true,
- "dependencies": {
- "@ts-common/json": "^0.3.0",
- "@ts-common/string-map": "^0.3.0",
- "clone-deep": "^4.0.1",
- "debug": "^4.1.1",
- "faker": "^4.1.0",
- "istanbul": "^0.4.5",
- "js-base64": "^2.5.1",
- "js-yaml": "^3.13.1",
- "json-refs": "^3.0.13",
- "json-schema-faker": "^0.5.0-rc16",
- "lodash": "^4.17.20",
- "native-promise-only": "^0.8.1",
- "nyc": "^15.0.1",
- "path-to-regexp": "^1.7.0",
- "swagger-methods": "^1.0.8",
- "swagger-schema-official": "2.0.0-bab6bed",
- "z-schema": "^4.2.2"
- }
- },
- "node_modules/yasway/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/yasway/node_modules/lodash": {
- "version": "4.17.20",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
- "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
- "dev": true
- },
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/yuml2svg": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/yuml2svg/-/yuml2svg-4.2.2.tgz",
- "integrity": "sha512-u1hdk7QaxNhMXaqawFJxwGQE2nu93H0v4F+2Mzp+X0tEvc1sg1QMFE+5TcniMr7PaRVfIniYYWWVgojWzUuRDg==",
- "dev": true,
- "dependencies": {
- "color": "^3.0.0",
- "jsdom": "^11.6.2",
- "viz.js": "^2.0.0"
- },
- "bin": {
- "yuml2svg": "bin/yuml2svg.js"
- },
- "engines": {
- "node": ">=6.5.0"
- }
- },
- "node_modules/z-schema": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.3.tgz",
- "integrity": "sha512-zkvK/9TC6p38IwcrbnT3ul9in1UX4cm1y/VZSs4GHKIiDCrlafc+YQBgQBUdDXLAoZHf2qvQ7gJJOo6yT1LH6A==",
- "dev": true,
- "dependencies": {
- "commander": "^2.7.1",
- "lodash.get": "^4.4.2",
- "lodash.isequal": "^4.5.0",
- "validator": "^12.0.0"
- },
- "bin": {
- "z-schema": "bin/z-schema"
- },
- "engines": {
- "node": ">=6.0.0"
- },
- "optionalDependencies": {
- "commander": "^2.7.1"
- }
- },
- "node_modules/z-schema/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true,
- "optional": true
- },
- "node_modules/z-schema/node_modules/validator": {
- "version": "12.2.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-12.2.0.tgz",
- "integrity": "sha512-jJfE/DW6tIK1Ek8nCfNFqt8Wb3nzMoAbocBF6/Icgg1ZFSBpObdnwVY2jQj6qUqzhx5jc71fpvBWyLGO7Xl+nQ==",
- "dev": true,
- "engines": {
- "node": ">= 0.10"
- }
- }
- },
"dependencies": {
"@azure/avocado": {
"version": "0.7.2",
@@ -9929,19 +1789,19 @@
"configstore": "^5.0.0"
}
},
- "cspell-dict-en_us": {
- "version": "1.2.18",
- "resolved": "https://registry.npmjs.org/cspell-dict-en_us/-/cspell-dict-en_us-1.2.18.tgz",
- "integrity": "sha512-P2TRblBVd9KOfwjvI5mxzEXMGBvvTIfqcKSQ+0RbpwC2S4ImW9k++LYxy9LtfSRmdSGjHbejYYtsrgvId1KcoA==",
+ "cspell-dict-en-gb": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/cspell-dict-en-gb/-/cspell-dict-en-gb-1.1.11.tgz",
+ "integrity": "sha512-UnmAeMDzf/YeXuI85BIaQzpArXlt+m+I9S9uy88nvUfq6goOfUFN8Axh0idDtqsFNoaMS5TgSzvjP7DgMXArYg==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
}
},
- "cspell-dict-en-gb": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/cspell-dict-en-gb/-/cspell-dict-en-gb-1.1.11.tgz",
- "integrity": "sha512-UnmAeMDzf/YeXuI85BIaQzpArXlt+m+I9S9uy88nvUfq6goOfUFN8Axh0idDtqsFNoaMS5TgSzvjP7DgMXArYg==",
+ "cspell-dict-en_us": {
+ "version": "1.2.18",
+ "resolved": "https://registry.npmjs.org/cspell-dict-en_us/-/cspell-dict-en_us-1.2.18.tgz",
+ "integrity": "sha512-P2TRblBVd9KOfwjvI5mxzEXMGBvvTIfqcKSQ+0RbpwC2S4ImW9k++LYxy9LtfSRmdSGjHbejYYtsrgvId1KcoA==",
"dev": true,
"requires": {
"configstore": "^5.0.0"
@@ -10131,8 +1991,8 @@
"cspell-dict-cpp": "^1.1.21",
"cspell-dict-django": "^1.0.12",
"cspell-dict-elixir": "^1.0.10",
- "cspell-dict-en_us": "^1.2.18",
"cspell-dict-en-gb": "^1.1.11",
+ "cspell-dict-en_us": "^1.2.18",
"cspell-dict-fullstack": "^1.0.15",
"cspell-dict-golang": "^1.1.12",
"cspell-dict-haskell": "^1.0.2",
@@ -13771,15 +5631,6 @@
"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
"dev": true
},
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
"string-width": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
@@ -13797,6 +5648,15 @@
"integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=",
"dev": true
},
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
"strip-ansi": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
diff --git a/profile/2020-09-01-hybrid.json b/profile/2020-09-01-hybrid.json
index 47a2d704fa97..de3ab30df30e 100644
--- a/profile/2020-09-01-hybrid.json
+++ b/profile/2020-09-01-hybrid.json
@@ -24,19 +24,19 @@
"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"
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-ClassicAdminCalls.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"
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.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"
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.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"
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json"
}
]
},
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.go.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.go.md
index 80040132bf08..dd0d01ccdeb6 100644
--- a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.go.md
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: enterpriseknowledgegraphservice
clear-output-folder: true
```
diff --git a/specification/adhybridhealthservice/resource-manager/readme.go.md b/specification/adhybridhealthservice/resource-manager/readme.go.md
index 819cef80d451..125af9e32ff1 100644
--- a/specification/adhybridhealthservice/resource-manager/readme.go.md
+++ b/specification/adhybridhealthservice/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: adhybridhealthservice
clear-output-folder: true
```
diff --git a/specification/adp/resource-manager/readme.azureresourceschema.md b/specification/adp/resource-manager/readme.azureresourceschema.md
index 870c1a9ea328..f707ad568d5e 100644
--- a/specification/adp/resource-manager/readme.azureresourceschema.md
+++ b/specification/adp/resource-manager/readme.azureresourceschema.md
@@ -6,13 +6,31 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
- - tag: package-2020-07-01-preview
- - tag: package-2021-02-01-preview
+ - tag: schema-autonomousdevelopmentplatform-2021-02-01-preview
+ - tag: schema-autonomousdevelopmentplatform-2020-07-01-preview
```
Please also specify `--azureresourceschema-folder=`.
-``` yaml $(azureresourceschema)
+### Tag: schema-autonomousdevelopmentplatform-2021-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-autonomousdevelopmentplatform-2021-02-01-preview' && $(azureresourceschema)
output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AutonomousDevelopmentPlatform/preview/2021-02-01-preview/adp.json
+
+```
+
+### Tag: schema-autonomousdevelopmentplatform-2020-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-autonomousdevelopmentplatform-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.go.md b/specification/adp/resource-manager/readme.go.md
index 826064aa1b8b..404729b32c7f 100644
--- a/specification/adp/resource-manager/readme.go.md
+++ b/specification/adp/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: adp
clear-output-folder: true
```
diff --git a/specification/adp/resource-manager/readme.md b/specification/adp/resource-manager/readme.md
index 54adcfff3aae..a0b4d1ae0bc7 100644
--- a/specification/adp/resource-manager/readme.md
+++ b/specification/adp/resource-manager/readme.md
@@ -31,6 +31,8 @@ openapi-subtype: rpaas
tag: package-2021-02-01-preview
```
+### Tag: package-2020-07-01-preview
+
```yaml $(tag) == 'package-2020-07-01-preview'
version: 2020-07-01-preview
version-with-underscores: 2020_07_01_preview
@@ -38,6 +40,8 @@ input-file:
- Microsoft.AutonomousDevelopmentPlatform/preview/2020-07-01-preview/adp.json
```
+### Tag: package-2021-02-01-preview
+
```yaml $(tag) == 'package-2021-02-01-preview'
version: 2021-02-01-preview
version-with-underscores: 2021_02_01_preview
diff --git a/specification/adp/resource-manager/readme.terraform.md b/specification/adp/resource-manager/readme.terraform.md
new file mode 100644
index 000000000000..d5e4339768cc
--- /dev/null
+++ b/specification/adp/resource-manager/readme.terraform.md
@@ -0,0 +1,20 @@
+
+## terraform
+
+These settings apply only when `--terraform` is specified on the command line.
+
+``` yaml $(terraform)
+terraform:
+ cli-name: adp
+ package-name: adp
+clear-output-folder: true
+output-folder: $(terraform-output-folder)/adp
+```
+
+``` yaml $(tag) == 'package-2020-07-01-preview' && $(terraform)
+gosdk-folder: services/preview/adp/mgmt/2020-07-01-preview/adp
+```
+
+``` yaml $(tag) == 'package-2021-02-01-preview' && $(terraform)
+gosdk-folder: services/preview/adp/mgmt/2021-02-01-preview/adp
+```
\ No newline at end of file
diff --git a/specification/advisor/resource-manager/readme.go.md b/specification/advisor/resource-manager/readme.go.md
index e615fb396465..1d5c401f9e29 100644
--- a/specification/advisor/resource-manager/readme.go.md
+++ b/specification/advisor/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: advisor
clear-output-folder: true
```
diff --git a/specification/alertsmanagement/resource-manager/readme.go.md b/specification/alertsmanagement/resource-manager/readme.go.md
index 5fa1c3add76b..25442dc4e52b 100644
--- a/specification/alertsmanagement/resource-manager/readme.go.md
+++ b/specification/alertsmanagement/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: alertsmanagement
clear-output-folder: true
```
diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md
index a8124adb08db..61382bb09f41 100644
--- a/specification/alertsmanagement/resource-manager/readme.md
+++ b/specification/alertsmanagement/resource-manager/readme.md
@@ -138,6 +138,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-python-track2
- repo: azure-libraries-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-trenton
@@ -162,52 +163,9 @@ 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.
+See configuration in [readme.python.md](./readme.python.md)
-``` yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.alertsmanagement
- package-name: azure-mgmt-alertsmanagement
- clear-output-folder: true
-```
-
-``` yaml $(python) && $(track2)
-python-mode: create
-azure-arm: true
-license-header: MICROSOFT_MIT_NO_VERSION
-namespace: azure.mgmt.alertsmanagement
-package-name: azure-mgmt-alertsmanagement
-package-version: 1.0.0b1
-clear-output-folder: true
-```
-
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement/azure/mgmt/alertsmanagement
-```
-
-``` yaml $(python) && $(python-mode) == 'update' && $(track2)
-no-namespace-folders: true
-output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement/azure/mgmt/alertsmanagement
-```
-
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement
-```
-
-``` yaml $(python) && $(python-mode) == 'create' && $(track2)
-basic-setup-py: true
-output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement
-```
+---
## Go
diff --git a/specification/alertsmanagement/resource-manager/readme.python.md b/specification/alertsmanagement/resource-manager/readme.python.md
new file mode 100644
index 000000000000..4617043919d7
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/readme.python.md
@@ -0,0 +1,50 @@
+## 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.alertsmanagement
+ package-name: azure-mgmt-alertsmanagement
+ clear-output-folder: true
+```
+
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.alertsmanagement
+package-name: azure-mgmt-alertsmanagement
+package-version: 1.0.0b1
+clear-output-folder: true
+modelerfour:
+ lenient-model-deduplication: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement/azure/mgmt/alertsmanagement
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement/azure/mgmt/alertsmanagement
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/alertsmanagement/azure-mgmt-alertsmanagement
+```
\ No newline at end of file
diff --git a/specification/alertsmanagement/resource-manager/readme.terraform.md b/specification/alertsmanagement/resource-manager/readme.terraform.md
new file mode 100644
index 000000000000..7dc2171003dc
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/readme.terraform.md
@@ -0,0 +1,72 @@
+## overrides
+
+These settings apply only when `--terraform` is specified on the command line.
+``` yaml $(terraform)
+overrides:
+ - where:
+ resource: "*"
+ set:
+ - NeedSeparated: true
+ - CombineCreateUpdate: true
+ - where:
+ resource: "ActionRules"
+ property: "properties"
+ set:
+ - GoFieldName: "Properties"
+ - where:
+ resource: "ActionRules"
+ method: "Update"
+ property: "properties"
+ set:
+ - GoFieldName: "PatchProperties"
+ - where:
+ property: "status"
+ set:
+ - Hidden: false
+ - where:
+ property: "type"
+ set:
+ - Hidden: true
+ - where:
+ resource: "ActionRules"
+ property: "/actionRule/properties/type"
+ set:
+ - Hidden: false
+ - where:
+ resource: "ActionRules"
+ property: "scopeType"
+ set:
+ - EnumValues/0/GoEnumMemberName: "ScopeTypeResourceGroup"
+ - EnumValues/1/GoEnumMemberName: "ScopeTypeResource"
+ - EnumValues/2/GoEnumMemberName: "ScopeTypeSubscription"
+```
+## Terraform
+
+These settings apply only when `--terraform` is specified on the command line.
+
+``` yaml $(terraform)
+terraform:
+ cli-name: alertsManagement
+ package-name: alertsmanagement
+clear-output-folder: true
+output-folder: $(terraform-output-folder)/alertsmanagement
+```
+``` yaml $(tag) == 'package-2019-06-preview' && $(terraform)
+gosdk-folder: services/preview/alertsmanagement/mgmt/2019-06-01-preview/alertsmanagement
+```
+
+``` yaml $(tag) == 'package-preview-2019-05' && $(terraform)
+gosdk-folder: services/preview/alertsmanagement/mgmt/2019-05-05-preview/alertsmanagement
+```
+
+``` yaml $(tag) == 'package-2019-03' && $(terraform)
+gosdk-folder: services/alertsmanagement/mgmt/2019-03-01/alertsmanagement
+```
+
+``` yaml $(tag) == 'package-2018-05' && $(terraform)
+gosdk-folder: services/alertsmanagement/mgmt/2018-05-05/alertsmanagement
+```
+
+``` yaml $(tag) == 'package-2018-05-preview' && $(terraform)
+gosdk-folder: services/preview/alertsmanagement/mgmt/2018-05-05-preview/alertsmanagement
+```
diff --git a/specification/alertsmanagement/resource-manager/readme.trenton.md b/specification/alertsmanagement/resource-manager/readme.trenton.md
deleted file mode 100644
index caac806574a8..000000000000
--- a/specification/alertsmanagement/resource-manager/readme.trenton.md
+++ /dev/null
@@ -1,53 +0,0 @@
-## overrides
-
-These settings apply only when `--trenton` is specified on the command line.
-``` yaml $(trenton)
-overrides:
- - where:
- resource: "*"
- set:
- - NeedSeparated: true
- - CombineCreateUpdate: true
- - where:
- resource: "ActionRules"
- property: "properties"
- set:
- - GoFieldName: "Properties"
- - where:
- resource: "ActionRules"
- method: "Update"
- property: "properties"
- set:
- - GoFieldName: "PatchProperties"
- - where:
- property: "status"
- set:
- - Hidden: false
- - where:
- property: "type"
- set:
- - Hidden: true
- - where:
- resource: "ActionRules"
- property: "/actionRule/properties/type"
- set:
- - Hidden: false
- - where:
- resource: "ActionRules"
- property: "scopeType"
- set:
- - EnumValues/0/GoEnumMemberName: "ScopeTypeResourceGroup"
- - EnumValues/1/GoEnumMemberName: "ScopeTypeResource"
- - EnumValues/2/GoEnumMemberName: "ScopeTypeSubscription"
-```
-## trenton
-
-These settings apply only when `--trenton` is specified on the command line.
-
-``` yaml $(trenton)
-trenton:
- cli-name: alertsManagement
- package-name: alertsmanagement
-clear-output-folder: true
-output-folder: $(trenton-output-folder)/alertsmanagement
-```
diff --git a/specification/analysisservices/resource-manager/readme.go.md b/specification/analysisservices/resource-manager/readme.go.md
index 3fda4eff5122..02973b920b9e 100644
--- a/specification/analysisservices/resource-manager/readme.go.md
+++ b/specification/analysisservices/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: analysisservices
clear-output-folder: true
```
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
index 60a5e13c9c3f..abe72c31af51 100644
--- 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
@@ -635,6 +635,42 @@
}
}
},
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/getDomainOwnershipIdentifier": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_GetDomainOwnershipIdentifier",
+ "description": "Get the custom domain ownership identifier for an API Management service.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetDomainOwnershipIdentifier": {
+ "$ref": "./examples/ApiManagementServiceGetDomainOwnershipIdentifier.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The result of getting domain ownership identifier.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceGetDomainOwnershipIdentifierResult"
+ }
+ },
+ "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": [
@@ -1481,6 +1517,16 @@
},
"description": "Response of the CheckNameAvailability operation."
},
+ "ApiManagementServiceGetDomainOwnershipIdentifierResult": {
+ "properties": {
+ "domainOwnershipIdentifier": {
+ "type": "string",
+ "description": "The domain ownership identifier value.",
+ "readOnly": true
+ }
+ },
+ "description": "Response of the GetDomainOwnershipIdentifier operation."
+ },
"ApiManagementServiceApplyNetworkConfigurationParameters": {
"properties": {
"location": {
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
index 078ee095719e..5e30ab6fbcfc 100644
--- 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
@@ -75,10 +75,6 @@
},
"AccessInformationContractProperties": {
"properties": {
- "id": {
- "type": "string",
- "description": "Access Information type ('access' or 'gitAccess')"
- },
"principalId": {
"type": "string",
"description": "Principal (User) Identifier."
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json
new file mode 100644
index 000000000000..2d39c7807737
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2020-06-01-preview/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "domainOwnershipIdentifier": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimanagement.json
index b6b9735c278b..4f03bbadca8f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimanagement.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimanagement.json
@@ -151,7 +151,7 @@
"type": "string",
"enum": [
"access",
- "getAccess"
+ "gitAccess"
],
"x-ms-enum": {
"modelAsString": true,
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimtenant.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimtenant.json
index 822d1bca76db..c99250c7c0b9 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimtenant.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/apimtenant.json
@@ -143,6 +143,9 @@
"x-ms-examples": {
"ApiManagementGetTenantAccess": {
"$ref": "./examples/ApiManagementGetTenantAccess.json"
+ },
+ "ApiManagementGetTenantGitAccess": {
+ "$ref": "./examples/ApiManagementGetTenantGitAccess.json"
}
},
"parameters": [
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementGetTenantGitAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementGetTenantGitAccess.json
new file mode 100644
index 000000000000..46f90ec8aae3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-01-01-preview/examples/ApiManagementGetTenantGitAccess.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-01-01-preview",
+ "subscriptionId": "subid",
+ "accessName": "gitAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/gitAccess",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "gitAccess",
+ "properties": {
+ "principalId": "git",
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimanagement.json
index e0de25d89891..6724c13e69d8 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimanagement.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimanagement.json
@@ -151,7 +151,7 @@
"type": "string",
"enum": [
"access",
- "getAccess"
+ "gitAccess"
],
"x-ms-enum": {
"modelAsString": true,
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimtenant.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimtenant.json
index 7878b85ed04b..a4446ab18a39 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimtenant.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/apimtenant.json
@@ -143,6 +143,9 @@
"x-ms-examples": {
"ApiManagementGetTenantAccess": {
"$ref": "./examples/ApiManagementGetTenantAccess.json"
+ },
+ "ApiManagementGetTenantGitAccess": {
+ "$ref": "./examples/ApiManagementGetTenantGitAccess.json"
}
},
"parameters": [
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementGetTenantGitAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementGetTenantGitAccess.json
new file mode 100644
index 000000000000..20ca2856b139
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2020-12-01/examples/ApiManagementGetTenantGitAccess.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-12-01",
+ "subscriptionId": "subid",
+ "accessName": "gitAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/gitAccess",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "gitAccess",
+ "properties": {
+ "principalId": "git",
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/readme.azureresourceschema.md b/specification/apimanagement/resource-manager/readme.azureresourceschema.md
index b7c0f4b79ff1..ae3f477f7a2e 100644
--- a/specification/apimanagement/resource-manager/readme.azureresourceschema.md
+++ b/specification/apimanagement/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-apimanagement-2021-01-01-preview
- tag: schema-apimanagement-2020-12-01
- tag: schema-apimanagement-2020-06-01-preview
- tag: schema-apimanagement-2019-12-01-preview
@@ -21,6 +22,55 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-apimanagement-2021-01-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2021-01-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimcontenttypes.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimdeletedservices.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimgateways.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimnamedvalues.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimportalrevisions.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimsettings.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimskus.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2021-01-01-preview/definitions.json
+
+```
+
### Tag: schema-apimanagement-2020-12-01 and azureresourceschema
``` yaml $(tag) == 'schema-apimanagement-2020-12-01' && $(azureresourceschema)
diff --git a/specification/apimanagement/resource-manager/readme.go.md b/specification/apimanagement/resource-manager/readme.go.md
index 13dd80276077..9a8ab0f515d6 100644
--- a/specification/apimanagement/resource-manager/readme.go.md
+++ b/specification/apimanagement/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: apimanagement
clear-output-folder: true
```
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-12
- tag: package-2019-12
- tag: package-preview-2019-12
- tag: package-2019-01
@@ -23,6 +24,15 @@ batch:
- tag: package-2016-07
```
+### Tag: package-2020-12 and go
+
+These settings apply only when `--tag=package-2020-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-12' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-12-01/$(namespace)
+```
+
### Tag: package-2019-12 and go
These settings apply only when `--tag=package-2019-12 --go` is specified on the command line.
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index 76c5ea1edca6..31b3296e3b88 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -479,6 +479,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-go
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
autorest_options:
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json
new file mode 100644
index 000000000000..8a3a3807eee3
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json
@@ -0,0 +1,1962 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-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_With_Identity": {
+ "$ref": "./examples/ConfigurationStoresCreateWithIdentity.json"
+ },
+ "ConfigurationStores_Create_With_Local_Auth_Disabled": {
+ "$ref": "./examples/ConfigurationStoresCreateWithLocalAuthDisabled.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_With_Identity": {
+ "$ref": "./examples/ConfigurationStoresUpdateWithIdentity.json"
+ },
+ "ConfigurationStores_Update_Disable_Local_Auth": {
+ "$ref": "./examples/ConfigurationStoresUpdateDisableLocalAuth.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": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "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."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Resource system metadata."
+ }
+ }
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": {
+ "type": "boolean",
+ "description": "Disables all authentication methods other than AAD authentication."
+ }
+ }
+ },
+ "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."
+ },
+ "disableLocalAuth": {
+ "type": "boolean",
+ "description": "Disables all authentication methods other than AAD authentication."
+ }
+ }
+ },
+ "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
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "properties": {
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The additional info type."
+ },
+ "info": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The additional info."
+ }
+ },
+ "description": "The resource management error additional info."
+ },
+ "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/2021-03-01-preview/examples/CheckNameAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/CheckNameAvailable.json
new file mode 100644
index 000000000000..542bf77cbb6f
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/CheckNameAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/CheckNameNotAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/CheckNameNotAvailable.json
new file mode 100644
index 000000000000..afee985c2aca
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/CheckNameNotAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/ConfigurationStoresCreate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreate.json
new file mode 100644
index 000000000000..023e53d1d88a
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreate.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": []
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": []
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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/2021-03-01-preview/examples/ConfigurationStoresCreateKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreateKeyValue.json
new file mode 100644
index 000000000000..2b2a218ae999
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreateKeyValue.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..4d56f1bba2e7
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreatePrivateEndpointConnection.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/ConfigurationStoresCreateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreateWithIdentity.json
new file mode 100644
index 000000000000..31f3bdc371eb
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreateWithIdentity.json
@@ -0,0 +1,117 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": []
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": []
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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/2021-03-01-preview/examples/ConfigurationStoresCreateWithLocalAuthDisabled.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreateWithLocalAuthDisabled.json
new file mode 100644
index 000000000000..2f05858c93f6
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresCreateWithLocalAuthDisabled.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-01-preview",
+ "configStoreCreationParameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "disableLocalAuth": true
+ }
+ }
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": true,
+ "privateEndpointConnections": []
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ }
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": true,
+ "privateEndpointConnections": []
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "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/2021-03-01-preview/examples/ConfigurationStoresDelete.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresDelete.json
new file mode 100644
index 000000000000..0a477248976c
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresDeleteKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresDeleteKeyValue.json
new file mode 100644
index 000000000000..943d8fc3f83c
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresDeleteKeyValue.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-01-preview",
+ "keyValueName": "myKey$myLabel"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..dc7fb9468967
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresDeletePrivateEndpointConnection.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2021-03-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresGet.json
new file mode 100644
index 000000000000..c17e916b0782
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresGet.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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/2021-03-01-preview/examples/ConfigurationStoresGetKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresGetKeyValue.json
new file mode 100644
index 000000000000..86a16ae5c725
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresGetKeyValue.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..f52033f58ee4
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresGetPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/ConfigurationStoresList.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresList.json
new file mode 100644
index 000000000000..6346c606bbcc
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresList.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2021-03-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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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/2021-03-01-preview/examples/ConfigurationStoresListByResourceGroup.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresListByResourceGroup.json
new file mode 100644
index 000000000000..af82fa684bc3
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresListByResourceGroup.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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/2021-03-01-preview/examples/ConfigurationStoresListKeyValues.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresListKeyValues.json
new file mode 100644
index 000000000000..351b1600ac5f
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresListKeyValues.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/ConfigurationStoresListKeys.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresListKeys.json
new file mode 100644
index 000000000000..aacc39340a3d
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresListKeys.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..4898c8b23017
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresListPrivateEndpointConnections.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/ConfigurationStoresRegenerateKey.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresRegenerateKey.json
new file mode 100644
index 000000000000..a694875bf16f
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresRegenerateKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/ConfigurationStoresUpdate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresUpdate.json
new file mode 100644
index 000000000000..4ed926e41263
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresUpdate.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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/2021-03-01-preview/examples/ConfigurationStoresUpdateDisableLocalAuth.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresUpdateDisableLocalAuth.json
new file mode 100644
index 000000000000..24e6a0965146
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresUpdateDisableLocalAuth.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-01-preview",
+ "configStoreUpdateParameters": {
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "disableLocalAuth": true
+ }
+ }
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": true,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ }
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": true,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "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/2021-03-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json
new file mode 100644
index 000000000000..716ddc4795f1
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/ConfigurationStoresUpdateWithIdentity.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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
+ }
+ },
+ "disableLocalAuth": false,
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "systemData": {
+ "createdBy": "foo@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2018-04-24T16:30:55+00:00",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-04-24T16:30:55+00:00"
+ },
+ "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/2021-03-01-preview/examples/PrivateLinkResourceGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/PrivateLinkResourceGet.json
new file mode 100644
index 000000000000..875efbf05cda
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/PrivateLinkResourceGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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/2021-03-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json
new file mode 100644
index 000000000000..d36a79276e0c
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-03-01-preview/examples/PrivateLinkResourcesListByConfigurationStore.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2021-03-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/readme.azureresourceschema.md b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md
index 96fcf4bd50da..da661721d59b 100644
--- a/specification/appconfiguration/resource-manager/readme.azureresourceschema.md
+++ b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-appconfiguration-2021-03-01-preview
- tag: schema-appconfiguration-2020-07-01-preview
- tag: schema-appconfiguration-2020-06-01
- tag: schema-appconfiguration-2019-11-01-preview
@@ -16,6 +17,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-appconfiguration-2021-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-appconfiguration-2021-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json
+
+```
+
### Tag: schema-appconfiguration-2020-07-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-appconfiguration-2020-07-01-preview' && $(azureresourceschema)
diff --git a/specification/appconfiguration/resource-manager/readme.go.md b/specification/appconfiguration/resource-manager/readme.go.md
index cdcf3496c0b5..828f029a6f11 100644
--- a/specification/appconfiguration/resource-manager/readme.go.md
+++ b/specification/appconfiguration/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: appconfiguration
clear-output-folder: true
```
diff --git a/specification/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md
index 52b3f08fda91..77dae0534fe0 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-07-01-preview
+tag: package-2021-03-01-preview
+```
+
+### Tag: package-2021-03-01-preview
+
+These settings apply only when `--tag=2021-03-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03-01-preview'
+input-file:
+- Microsoft.AppConfiguration/preview/2021-03-01-preview/appconfiguration.json
```
### Tag: package-2020-07-01-preview
@@ -140,6 +149,18 @@ directive:
from: appconfiguration.json
where: $.definitions.KeyValueProperties.properties.locked
reason: This is data plane level information proxied through the RP and cannot be changed.
+ - suppress: EnumInsteadOfBoolean
+ from: appconfiguration.json
+ where: $.definitions.ConfigurationStoreProperties.properties.disableLocalAuth
+ reason: This is a standardized ARM API.
+ - suppress: EnumInsteadOfBoolean
+ from: appconfiguration.json
+ where: $.definitions.ConfigurationStorePropertiesUpdateParameters.properties.disableLocalAuth
+ reason: This is a standardized ARM API.
+ - suppress: EnumInsteadOfBoolean
+ from: appconfiguration.json
+ where: $.definitions.OperationDefinition.properties.isDataAction
+ reason: This is a standardized ARM API.
```
## AzureResourceSchema
diff --git a/specification/applicationinsights/data-plane/readme.go.md b/specification/applicationinsights/data-plane/readme.go.md
index 3c88242b48d2..c9574f7cd0d1 100644
--- a/specification/applicationinsights/data-plane/readme.go.md
+++ b/specification/applicationinsights/data-plane/readme.go.md
@@ -3,7 +3,7 @@
These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: insights
clear-output-folder: true
```
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreateBasic.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreateBasic.json
new file mode 100644
index 000000000000..cb68f78aeadf
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreateBasic.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "webTestName": "my-webtest-my-component",
+ "WebTestDefinition": {
+ "location": "South Central US",
+ "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": "basic",
+ "RetryEnabled": true,
+ "ValidationRules": {
+ "ExpectedHttpStatusCode": 200,
+ "SSLCheck": true
+ },
+ "Request": {
+ "ParseDependentRequests": true,
+ "RequestUrl": "https://www.bing.com"
+ },
+ "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"
+ },
+ "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": "basic",
+ "RetryEnabled": true,
+ "Locations": [
+ {
+ "Id": "us-fl-mia-edge"
+ }
+ ],
+ "ValidationRules": {
+ "ExpectedHttpStatusCode": 200,
+ "SSLCheck": true
+ },
+ "Request": {
+ "ParseDependentRequests": true,
+ "RequestUrl": "https://www.bing.com"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreateStandard.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreateStandard.json
new file mode 100644
index 000000000000..8c18b5e129f7
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-10-05-preview/examples/WebTestCreateStandard.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "api-version": "2020-10-05-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "webTestName": "my-webtest-my-component",
+ "WebTestDefinition": {
+ "location": "South Central US",
+ "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": "standard",
+ "RetryEnabled": true,
+ "Request": {
+ "RequestUrl": "https://bing.com",
+ "Headers": [
+ {
+ "key": "Content-Language",
+ "value": "de-DE"
+ },
+ {
+ "key": "Accept-Language",
+ "value": "de-DE"
+ }
+ ],
+ "HttpVerb": "POST",
+ "RequestBody": "SGVsbG8gd29ybGQ="
+ },
+ "ValidationRules": {
+ "SSLCheck": true,
+ "SSLCertRemainingLifetimeCheck": 100
+ },
+ "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"
+ },
+ "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": "standard",
+ "RetryEnabled": true,
+ "Locations": [
+ {
+ "Id": "us-fl-mia-edge"
+ }
+ ],
+ "Request": {
+ "RequestUrl": "https://bing.com",
+ "Headers": [
+ {
+ "key": "Content-Language",
+ "value": "de-DE"
+ },
+ {
+ "key": "Accept-Language",
+ "value": "de-DE"
+ }
+ ],
+ "HttpVerb": "POST",
+ "RequestBody": "SGVsbG8gd29ybGQ="
+ },
+ "ValidationRules": {
+ "SSLCheck": true,
+ "SSLCertRemainingLifetimeCheck": 100
+ },
+ "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
index cf128cdb0556..6bd7e2c28516 100644
--- 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
@@ -175,6 +175,12 @@
"webTestCreate": {
"$ref": "./examples/WebTestCreate.json"
},
+ "webTestCreateBasic": {
+ "$ref": "./examples/WebTestCreateBasic.json"
+ },
+ "webTestCreateStandard": {
+ "$ref": "./examples/WebTestCreateStandard.json"
+ },
"webTestUpdate": {
"$ref": "./examples/WebTestUpdate.json"
}
@@ -529,41 +535,47 @@
}
}
},
- "ContentValidation": {
+ "ValidationRules": {
"type": "object",
- "description": "The collection of content validation properties",
+ "description": "The collection of validation rule properties",
"properties": {
- "ContentMatch": {
- "type": "string",
- "description": "Content to look for in the return of the WebTest."
+ "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. Must not be null or empty."
+ },
+ "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"
+ }
+ }
},
- "IgnoreCase": {
+ "SSLCheck": {
"type": "boolean",
- "description": "When set, this value makes the ContentMatch validation case insensitive."
+ "description": "Checks to see if the SSL cert is still valid."
},
- "PassIfTextFound": {
+ "SSLCertRemainingLifetimeCheck": {
+ "type": "integer",
+ "format": "int32",
+ "description": "A number of days to check still remain before the the existing SSL cert expires. Value must be positive and the SSLCheck must be set to true."
+ },
+ "ExpectedHttpStatusCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Validate that the WebTest returns the http status code provided."
+ },
+ "IgnoreHttpsStatusCode": {
"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"
+ "description": "When set, validation will ignore the status code."
}
}
- },
- "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."
}
}
},
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2021-03-03-preview/diagnosticServicesToken_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2021-03-03-preview/diagnosticServicesToken_API.json
new file mode 100644
index 000000000000..fb6feeac1045
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2021-03-03-preview/diagnosticServicesToken_API.json
@@ -0,0 +1,134 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights client for application insights diagnostic services token.",
+ "version": "2021-03-03-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/{resourceUri}/providers/Microsoft.Insights/generateDiagnosticServiceReadOnlyToken": {
+ "post": {
+ "tags": [
+ "generateDiagnosticServiceReadOnlyToken"
+ ],
+ "operationId": "DiagnosticServiceToken_GetReadOnly",
+ "description": "Gets an read-only access token for application insights diagnostic service data.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed .",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful response containing the application insights diagnostic services token.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticServicesTokenResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get diagnostic services read-only token for resource": {
+ "$ref": "./examples/DiagnosticServicesReadOnlyTokenPost.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.Insights/generateDiagnosticServiceReadWriteToken": {
+ "post": {
+ "tags": [
+ "generateDiagnosticServiceReadWriteToken"
+ ],
+ "operationId": "DiagnosticServiceToken_GetReadWrite",
+ "description": "Gets an read-write access token for application insights diagnostic service data.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed .",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful response containing the application insights diagnostic services token.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticServicesTokenResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get diagnostic services read-write token for resource": {
+ "$ref": "./examples/DiagnosticServicesReadWriteTokenPost.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DiagnosticServicesTokenResponse": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "JWT token for accessing application insights diagnostic service data."
+ }
+ },
+ "description": "The response to a diagnostic services token query."
+ }
+ },
+ "parameters": {
+ "ResourceUriParameter": {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The identifier of the resource.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2021-03-03-preview/examples/DiagnosticServicesReadOnlyTokenPost.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2021-03-03-preview/examples/DiagnosticServicesReadOnlyTokenPost.json
new file mode 100644
index 000000000000..128e9d9f65bd
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2021-03-03-preview/examples/DiagnosticServicesReadOnlyTokenPost.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/FabrikamFiberApp/providers/microsoft.insights/components/CustomAvailabilityTest/",
+ "api-version": "2021-03-03-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2021-03-03-preview/examples/DiagnosticServicesReadWriteTokenPost.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2021-03-03-preview/examples/DiagnosticServicesReadWriteTokenPost.json
new file mode 100644
index 000000000000..128e9d9f65bd
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2021-03-03-preview/examples/DiagnosticServicesReadWriteTokenPost.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/FabrikamFiberApp/providers/microsoft.insights/components/CustomAvailabilityTest/",
+ "api-version": "2021-03-03-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/examples/WorkbooksList2.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/examples/WorkbooksList2.json
new file mode 100644
index 000000000000..396a769db3d3
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/examples/WorkbooksList2.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-10-20",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "category": "workbook"
+ },
+ "responses": {
+ "200": {
+ "body": [],
+ "nextLink": null
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/workbooks_API.json
index 76fb06510f96..8535d2e992ce 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/workbooks_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-10-20/workbooks_API.json
@@ -34,6 +34,57 @@
}
},
"paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/workbooks": {
+ "get": {
+ "description": "Get all private workbooks defined within a specified subscription and category.",
+ "operationId": "Workbooks_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 workbook definitions.",
+ "schema": {
+ "$ref": "#/definitions/WorkbooksListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/WorkbookError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "WorkbooksList": {
+ "$ref": "./examples/WorkbooksList.json"
+ },
+ "WorkbooksList2": {
+ "$ref": "./examples/WorkbooksList2.json"
+ },
+ "WorkbooksManagedList": {
+ "$ref": "./examples/WorkbooksManagedList.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks": {
"get": {
"description": "Get all Workbooks defined within a specified resource group and category.",
diff --git a/specification/applicationinsights/resource-manager/readme.cli.md b/specification/applicationinsights/resource-manager/readme.cli.md
index 34c495ce11c8..51401660db9e 100644
--- a/specification/applicationinsights/resource-manager/readme.cli.md
+++ b/specification/applicationinsights/resource-manager/readme.cli.md
@@ -19,7 +19,7 @@ cli:
removed: true
- select: 'operation'
where:
- operationGroup: 'APIkeys'
+ operationGroup: 'APIKeys'
operation: 'create|delete'
removed: true
- select: 'operation'
diff --git a/specification/applicationinsights/resource-manager/readme.go.md b/specification/applicationinsights/resource-manager/readme.go.md
index 1fb4390be7b1..8d3ea9fc8783 100644
--- a/specification/applicationinsights/resource-manager/readme.go.md
+++ b/specification/applicationinsights/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: insights
clear-output-folder: true
```
diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md
index b4532edb0ce1..0f95a970a1a7 100644
--- a/specification/applicationinsights/resource-manager/readme.md
+++ b/specification/applicationinsights/resource-manager/readme.md
@@ -201,8 +201,21 @@ directive:
reason: 'get workbook list by subscription is not supported'
- suppress: OperationsAPIImplementation
reason: 'Previously implemented operation apis are using an incorrect RP case format which I cannot change.'
+ - suppress: SECRET_PROPERTY
+ from: diagnosticServicesToken_API.json
+ where:
+ - $.definitions.DiagnosticServicesTokenResponse.properties.token
+ reason: 'Secrets are OK to return in a POST response.'
```
+### Tag: package-preview-2021-03-only
+
+These settings apply only when `--tag=package-preview-2021-03-only` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-03-only'
+input-file:
+ - Microsoft.Insights/preview/2021-03-03-preview/diagnosticServicesToken_API.json
+```
### Tag: package-2020-02-12
These settings apply only when `--tag=package-2020-02-12` is specified on the command line.
diff --git a/specification/applicationinsights/resource-manager/readme.python.md b/specification/applicationinsights/resource-manager/readme.python.md
index 2bef78bb287a..913e69037551 100644
--- a/specification/applicationinsights/resource-manager/readme.python.md
+++ b/specification/applicationinsights/resource-manager/readme.python.md
@@ -160,7 +160,7 @@ These settings apply only when `--tag=package-preview-2020-06-only --python` is
``` yaml $(tag) == 'package-preview-2020-06-only' && $(python) && !$(track2)
python:
namespace: azure.mgmt.applicationinsights.v2020_06_02_preview
- output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_06_02-preview
+ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_06_02_preview
```
``` yaml $(tag) == 'package-preview-2020-06-only' && $(python) && $(track2)
namespace: azure.mgmt.applicationinsights.v2020_06_02_preview
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/appplatform.json
new file mode 100644
index 000000000000..0698ac690bf6
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/appplatform.json
@@ -0,0 +1,4658 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-03-preview",
+ "title": "AppPlatformManagementClient",
+ "description": "REST API for Azure Spring Cloud"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get a Service and its properties.",
+ "operationId": "Services_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding Service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Services_Get": {
+ "$ref": "./examples/Services_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create a new Service or update an exiting Service.",
+ "operationId": "Services_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "resource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The response describes the new Service and contains a Location header to query the\r\noperation result.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "200": {
+ "description": "Success. The response describes the updated Service.",
+ "schema": {
+ "$ref": "#/definitions/ServiceResource"
+ }
+ },
+ "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}/configServers/validate": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Check if the config server settings are valid.",
+ "operationId": "ConfigServers_Validate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "configServerSettings",
+ "in": "body",
+ "description": "Config server settings to be validated",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigServerSettings"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the validation result of Config Server.",
+ "schema": {
+ "$ref": "#/definitions/ConfigServerSettingsValidateResult"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the ConfigServerSetting is validating.",
+ "schema": {
+ "$ref": "#/definitions/ConfigServerSettingsValidateResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "ConfigServers_Validate": {
+ "$ref": "./examples/ConfigServers_Validate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/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",
+ "default": "S0"
+ },
+ "tier": {
+ "description": "Tier of the Sku",
+ "type": "string",
+ "default": "Standard"
+ },
+ "capacity": {
+ "format": "int32",
+ "description": "Current capacity of the target resource",
+ "type": "integer"
+ }
+ }
+ },
+ "ConfigServerSettingsValidateResult": {
+ "description": "Validation result for config server settings",
+ "type": "object",
+ "properties": {
+ "isValid": {
+ "description": "Indicate if the config server settings are valid",
+ "type": "boolean"
+ },
+ "details": {
+ "description": "The detail validation results",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigServerSettingsErrorRecord"
+ }
+ }
+ }
+ },
+ "ConfigServerSettingsErrorRecord": {
+ "description": "Error record of the config server settings",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the config server settings error record",
+ "type": "string"
+ },
+ "uri": {
+ "description": "The uri of the config server settings error record",
+ "type": "string"
+ },
+ "messages": {
+ "description": "The detail error messages of the record",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ConfigServerResource": {
+ "description": "Config Server resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigServerProperties",
+ "description": "Properties of the Config Server resource",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "ConfigServerProperties": {
+ "description": "Config server git properties payload",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "State of the config server.",
+ "enum": [
+ "NotAvailable",
+ "Deleted",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ConfigServerState",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Error when apply config server settings."
+ },
+ "configServer": {
+ "$ref": "#/definitions/ConfigServerSettings",
+ "description": "Settings of config server."
+ }
+ }
+ },
+ "MonitoringSettingResource": {
+ "description": "Monitoring Setting resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MonitoringSettingProperties",
+ "description": "Properties of the Monitoring Setting resource",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "MonitoringSettingProperties": {
+ "description": "Monitoring Setting properties payload",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "State of the Monitoring Setting.",
+ "enum": [
+ "NotAvailable",
+ "Failed",
+ "Succeeded",
+ "Updating"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MonitoringSettingState",
+ "modelAsString": true
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Error when apply Monitoring Setting changes."
+ },
+ "traceEnabled": {
+ "description": "Indicates whether enable the trace functionality, which will be deprecated since api version 2021-03-03-preview. Please leverage appInsightsInstrumentationKey to indicate if monitoringSettings enabled or not",
+ "type": "boolean"
+ },
+ "appInsightsInstrumentationKey": {
+ "description": "Target application insight instrumentation key, null or whitespace include empty will disable monitoringSettings",
+ "type": "string"
+ },
+ "appInsightsSamplingRate": {
+ "description": "Indicates the sampling rate of application insight agent, should be in range [0.0, 100.0]",
+ "format": "double",
+ "maximum": 100.0,
+ "minimum": 0.0,
+ "type": "number"
+ },
+ "appInsightsAgentVersions": {
+ "$ref": "#/definitions/applicationInsightsAgentVersions",
+ "description": "Indicates the versions of application insight agent"
+ }
+ }
+ },
+ "applicationInsightsAgentVersions": {
+ "description": "Application Insights agent versions properties payload",
+ "type": "object",
+ "properties": {
+ "java": {
+ "description": "Indicates the version of application insight java agent",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkProfile": {
+ "description": "Service network profile payload",
+ "type": "object",
+ "properties": {
+ "serviceRuntimeSubnetId": {
+ "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime",
+ "type": "string"
+ },
+ "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."
+ }
+ }
+ },
+ "requiredTraffics": {
+ "description": "Required inbound or outbound traffics for Azure Spring Cloud instance.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/RequiredTraffic"
+ }
+ }
+ }
+ },
+ "RequiredTraffic": {
+ "description": "Required inbound or outbound traffic for Azure Spring Cloud instance.",
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "description": "The protocol of required traffic",
+ "type": "string",
+ "readOnly": true
+ },
+ "port": {
+ "description": "The port of required traffic",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ },
+ "ips": {
+ "description": "The ip list of required traffic",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "fqdns": {
+ "description": "The FQDN list of required traffic",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "direction": {
+ "description": "The direction of required traffic",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "trafficDirection",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Error": {
+ "description": "The error code compose of code and message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The code of error.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The message of error.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigServerSettings": {
+ "description": "The settings of config server.",
+ "type": "object",
+ "properties": {
+ "gitProperty": {
+ "$ref": "#/definitions/ConfigServerGitProperty",
+ "description": "Property of git environment."
+ }
+ }
+ },
+ "ConfigServerGitProperty": {
+ "description": "Property of git.",
+ "required": [
+ "uri"
+ ],
+ "type": "object",
+ "properties": {
+ "repositories": {
+ "description": "Repositories of git.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GitPatternRepository"
+ }
+ },
+ "uri": {
+ "description": "URI of the repository",
+ "type": "string"
+ },
+ "label": {
+ "description": "Label of the repository",
+ "type": "string"
+ },
+ "searchPaths": {
+ "description": "Searching path of the repository",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "username": {
+ "description": "Username of git repository basic auth.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of git repository basic auth.",
+ "type": "string"
+ },
+ "hostKey": {
+ "description": "Public sshKey of git repository.",
+ "type": "string"
+ },
+ "hostKeyAlgorithm": {
+ "description": "SshKey algorithm of git repository.",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "Private sshKey algorithm of git repository.",
+ "type": "string"
+ },
+ "strictHostKeyChecking": {
+ "description": "Strict host key checking or not.",
+ "type": "boolean"
+ }
+ }
+ },
+ "GitPatternRepository": {
+ "description": "Git repository property payload",
+ "required": [
+ "name",
+ "uri"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the repository",
+ "type": "string"
+ },
+ "pattern": {
+ "description": "Collection of pattern of the repository",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "uri": {
+ "description": "URI of the repository",
+ "type": "string"
+ },
+ "label": {
+ "description": "Label of the repository",
+ "type": "string"
+ },
+ "searchPaths": {
+ "description": "Searching path of the repository",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "username": {
+ "description": "Username of git repository basic auth.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password of git repository basic auth.",
+ "type": "string"
+ },
+ "hostKey": {
+ "description": "Public sshKey of git repository.",
+ "type": "string"
+ },
+ "hostKeyAlgorithm": {
+ "description": "SshKey algorithm of git repository.",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "Private sshKey algorithm of git repository.",
+ "type": "string"
+ },
+ "strictHostKeyChecking": {
+ "description": "Strict host key checking or not.",
+ "type": "boolean"
+ }
+ }
+ },
+ "TestKeys": {
+ "description": "Test keys payload",
+ "type": "object",
+ "properties": {
+ "primaryKey": {
+ "description": "Primary key",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "Secondary key",
+ "type": "string"
+ },
+ "primaryTestEndpoint": {
+ "description": "Primary test endpoint",
+ "type": "string"
+ },
+ "secondaryTestEndpoint": {
+ "description": "Secondary test endpoint",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "Indicates whether the test endpoint feature enabled or not",
+ "type": "boolean"
+ }
+ }
+ },
+ "RegenerateTestKeyRequestPayload": {
+ "description": "Regenerate test key request payload",
+ "required": [
+ "keyType"
+ ],
+ "type": "object",
+ "properties": {
+ "keyType": {
+ "description": "Type of the test key",
+ "enum": [
+ "Primary",
+ "Secondary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TestKeyType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AppResource": {
+ "description": "App resource payload",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AppResourceProperties",
+ "description": "Properties of the App resource",
+ "x-ms-client-flatten": false
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedIdentityProperties",
+ "description": "The Managed Identity type of the app resource"
+ },
+ "location": {
+ "description": "The GEO location of the application, always the same with its parent resource",
+ "type": "string"
+ }
+ }
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {}
+ },
+ "AppResourceProperties": {
+ "description": "App resource properties payload",
+ "type": "object",
+ "properties": {
+ "public": {
+ "description": "Indicates whether the App exposes public endpoint",
+ "type": "boolean"
+ },
+ "url": {
+ "description": "URL of the App",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the App",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Creating",
+ "Updating"
+ ],
+ "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"
+ },
+ "enableEndToEndTLS": {
+ "description": "Indicate if end to end TLS is enabled.",
+ "type": "boolean"
+ }
+ }
+ },
+ "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. This should be 1 for Basic tier, and in range [1, 4] for Standard tier. This is deprecated starting from API version 2020-03-03-preview. Please use the resourceRequests field to set the CPU size.",
+ "default": 1,
+ "type": "integer"
+ },
+ "memoryInGB": {
+ "format": "int32",
+ "description": "Required Memory size in GB. This should be in range [1, 2] for Basic tier, and in range [1, 8] for Standard tier. This is deprecated starting from API version 2020-03-03-preview. Please use the resourceRequests field to set the the memory size.",
+ "default": 1,
+ "type": "integer"
+ },
+ "resourceRequests": {
+ "$ref": "#/definitions/ResourceRequests",
+ "description": "The requested resource quantity for required CPU and Memory. It is recommended that using this field to represent the required CPU and Memory, the old field cpu and memoryInGB will be deprecated later."
+ },
+ "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"
+ }
+ }
+ },
+ "ResourceRequests": {
+ "description": "Deployment resource request payload",
+ "type": "object",
+ "properties": {
+ "cpu": {
+ "description": "Required CPU. 1 core can be represented by 1 or 1000m. This should be 500m or 1 for Basic tier, and {500m, 1, 2, 3, 4} for Standard tier.",
+ "type": "string"
+ },
+ "memory": {
+ "description": "Required memory. 1 GB can be represented by 1Gi or 1024Mi. This should be {512Mi, 1Gi, 2Gi} for Basic tier, and {512Mi, 1Gi, 2Gi, ..., 8Gi} for Standard tier.",
+ "type": "string"
+ }
+ }
+ },
+ "LogFileUrlResponse": {
+ "description": "Log file URL payload",
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "URL of the log file",
+ "type": "string"
+ }
+ }
+ },
+ "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": "The API version to use for this operation.",
+ "required": true,
+ "type": "string",
+ "minLength": 1
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Gets subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ServiceNameParameter": {
+ "name": "serviceName",
+ "in": "path",
+ "description": "The name of the Service resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AppNameParameter": {
+ "name": "appName",
+ "in": "path",
+ "description": "The name of the App resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DeploymentNameParameter": {
+ "name": "deploymentName",
+ "in": "path",
+ "description": "The name of the Deployment resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BindingNameParameter": {
+ "name": "bindingName",
+ "in": "path",
+ "description": "The name of the Binding resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "CustomDomainNameParameter": {
+ "name": "domainName",
+ "in": "path",
+ "description": "The name of the custom domain resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "CertificateNameParameter": {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_CreateOrUpdate.json
new file mode 100644
index 000000000000..c1c50a36e417
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_CreateOrUpdate.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "appResource": {
+ "properties": {
+ "public": true,
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "enableEndToEndTLS": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "identity": null,
+ "location": "eastus"
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "enableEndToEndTLS": 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,
+ "enableEndToEndTLS": 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,
+ "enableEndToEndTLS": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_Delete.json
new file mode 100644
index 000000000000..56994e15de88
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_Get.json
new file mode 100644
index 000000000000..14c291828505
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_Get.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "enableEndToEndTLS": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_GetResourceUploadUrl.json
new file mode 100644
index 000000000000..fec2ca331988
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_GetResourceUploadUrl.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_List.json
new file mode 100644
index 000000000000..959f681573a8
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_List.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "enableEndToEndTLS": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_Update.json
new file mode 100644
index 000000000000..a65ba7427bac
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_Update.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "appResource": {
+ "properties": {
+ "public": true,
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "enableEndToEndTLS": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": null,
+ "tenantId": null
+ },
+ "location": "eastus"
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "public": true,
+ "url": "myapp.myservice.azuremicroservices.io",
+ "provisioningState": "Succeeded",
+ "activeDeploymentName": "mydeployment1",
+ "fqdn": "myapp.mydomain.com",
+ "httpsOnly": false,
+ "enableEndToEndTLS": 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,
+ "enableEndToEndTLS": false,
+ "temporaryDisk": {
+ "sizeInGB": 2,
+ "mountPath": "mytemporarydisk"
+ },
+ "persistentDisk": {
+ "sizeInGB": 2,
+ "usedInGB": 1,
+ "mountPath": "mypersistentdisk"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "principalid",
+ "tenantId": "tenantid"
+ },
+ "location": "eastus",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp",
+ "name": "myapp"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_ValidateDomain.json
new file mode 100644
index 000000000000..6f513b271058
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Apps_ValidateDomain.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "validatePayload": {
+ "name": "mydomain.io"
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": false,
+ "message": "Certificate is invalid, please check if it is a self signed cert or if it contains a suitable dns name"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_CreateOrUpdate.json
new file mode 100644
index 000000000000..3eb064ed1f90
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/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": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ },
+ "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/preview/2021-03-03-preview/examples/Bindings_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_Delete.json
new file mode 100644
index 000000000000..a5f826033221
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_Get.json
new file mode 100644
index 000000000000..fa3539a0c918
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_List.json
new file mode 100644
index 000000000000..7bde8dbd5f56
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Bindings_Update.json
new file mode 100644
index 000000000000..bd36787abe82
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/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": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceName": "my-cosmosdb-1",
+ "resourceType": "Microsoft.DocumentDB",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6",
+ "createdAt": "2019-01-01T12:34:56.000Z",
+ "updatedAt": "2019-01-01T12:34:56.000Z"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/bindings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding",
+ "name": "mybinding"
+ }
+ },
+ "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/preview/2021-03-03-preview/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Certificates_CreateOrUpdate.json
new file mode 100644
index 000000000000..88c4e2449cc9
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Certificates_CreateOrUpdate.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "certificateResource": {
+ "properties": {
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e"
+ }
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e",
+ "issuer": "mydomain.com",
+ "issuedDate": "2019-02-20T07:40:42Z",
+ "expirationDate": "2019-02-21T07:40:42Z",
+ "activateDate": "2019-02-22T07:40:42Z",
+ "subjectName": "mysubjectname",
+ "dnsNames": [
+ "mydomain.com",
+ "mydomain.net",
+ "mydomain.io"
+ ]
+ },
+ "type": "Microsoft.AppPlatform/Spring/certificates",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate",
+ "name": "mycertificate"
+ }
+ },
+ "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/preview/2021-03-03-preview/examples/Certificates_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Certificates_Delete.json
new file mode 100644
index 000000000000..ce2fff238741
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Certificates_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Certificates_Get.json
new file mode 100644
index 000000000000..b2fc5bc6b7ce
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Certificates_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e",
+ "issuer": "mydomain.com",
+ "issuedDate": "2019-02-20T07:40:42Z",
+ "expirationDate": "2019-02-21T07:40:42Z",
+ "activateDate": "2019-02-22T07:40:42Z",
+ "subjectName": "mysubjectname",
+ "dnsNames": [
+ "mydomain.com",
+ "mydomain.net",
+ "mydomain.io"
+ ]
+ },
+ "type": "Microsoft.AppPlatform/Spring/certificates",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate",
+ "name": "mycertificate"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Certificates_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Certificates_List.json
new file mode 100644
index 000000000000..8824c259eb95
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Certificates_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/ConfigServers_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/ConfigServers_Get.json
new file mode 100644
index 000000000000..1a017a21cf29
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/ConfigServers_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/configServers",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/ConfigServers_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/ConfigServers_UpdatePatch.json
new file mode 100644
index 000000000000..501482cb55c0
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/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": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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/preview/2021-03-03-preview/examples/ConfigServers_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/ConfigServers_UpdatePut.json
new file mode 100644
index 000000000000..501482cb55c0
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/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": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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/preview/2021-03-03-preview/examples/ConfigServers_Validate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/ConfigServers_Validate.json
new file mode 100644
index 000000000000..039d1fca871c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/ConfigServers_Validate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "configServerSettings": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": true
+ }
+ },
+ "202": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_CreateOrUpdate.json
new file mode 100644
index 000000000000..fae51371d506
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ },
+ "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/preview/2021-03-03-preview/examples/CustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_Delete.json
new file mode 100644
index 000000000000..39f060b229aa
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_Get.json
new file mode 100644
index 000000000000..6e0341b92365
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_List.json
new file mode 100644
index 000000000000..11a7e99281b2
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ ],
+ "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains?$page=2"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_Update.json
new file mode 100644
index 000000000000..43c216b70b46
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/CustomDomains_Update.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "appName": "myapp",
+ "certName": "mycert"
+ },
+ "type": "Microsoft.AppPlatform/Spring/apps/domains",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com",
+ "name": "mydomain.com"
+ }
+ },
+ "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/preview/2021-03-03-preview/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_CreateOrUpdate.json
new file mode 100644
index 000000000000..7f9e0ff5f98b
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_CreateOrUpdate.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "deploymentResource": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "deploymentSettings": {
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "jvmOptions": "-Xms1G -Xmx3G",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "instances": null
+ }
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "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,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "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,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "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/preview/2021-03-03-preview/examples/Deployments_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Delete.json
new file mode 100644
index 000000000000..093e0442b733
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Get.json
new file mode 100644
index 000000000000..d588237de940
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Get.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "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/preview/2021-03-03-preview/examples/Deployments_GetLogFileUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_GetLogFileUrl.json
new file mode 100644
index 000000000000..e0338c8801e8
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_GetLogFileUrl.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_List.json
new file mode 100644
index 000000000000..8c023b1668f4
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_List.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "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/preview/2021-03-03-preview/examples/Deployments_ListForCluster.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_ListForCluster.json
new file mode 100644
index 000000000000..8c023b1668f4
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_ListForCluster.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "appName": "myapp",
+ "deploymentSettings": {
+ "cpu": 1,
+ "memoryInGB": 3,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "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/preview/2021-03-03-preview/examples/Deployments_Restart.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Restart.json
new file mode 100644
index 000000000000..8aeb3677e801
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Restart.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/Deployments_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Start.json
new file mode 100644
index 000000000000..8aeb3677e801
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Start.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/Deployments_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Stop.json
new file mode 100644
index 000000000000..8aeb3677e801
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Stop.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "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/preview/2021-03-03-preview/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Update.json
new file mode 100644
index 000000000000..936439ba96be
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Deployments_Update.json
@@ -0,0 +1,113 @@
+{
+ "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": "2021-03-03-preview",
+ "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,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "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,
+ "resourceRequests": {
+ "cpu": "1000m",
+ "memory": "3Gi"
+ },
+ "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/preview/2021-03-03-preview/examples/MonitoringSettings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/MonitoringSettings_Get.json
new file mode 100644
index 000000000000..62993393653f
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/MonitoringSettings_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0,
+ "appInsightsAgentVersions": {
+ "java": "3.0.0"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/MonitoringSettings_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/MonitoringSettings_UpdatePatch.json
new file mode 100644
index 000000000000..073d4bb3b877
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/MonitoringSettings_UpdatePatch.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "monitoringSettingResource": {
+ "properties": {
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0
+ }
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0,
+ "appInsightsAgentVersions": {
+ "java": "3.0.0"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0,
+ "appInsightsAgentVersions": {
+ "java": "3.0.0"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/MonitoringSettings_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/MonitoringSettings_UpdatePut.json
new file mode 100644
index 000000000000..073d4bb3b877
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/MonitoringSettings_UpdatePut.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "monitoringSettingResource": {
+ "properties": {
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0
+ }
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0,
+ "appInsightsAgentVersions": {
+ "java": "3.0.0"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
+ "appInsightsSamplingRate": 10.0,
+ "appInsightsAgentVersions": {
+ "java": "3.0.0"
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring/monitoringSettings",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default",
+ "name": "default"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..e32985643d57
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Operations_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AppPlatform/Spring/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Azure Distributed Managed Service for Spring",
+ "resource": "Managed Applications",
+ "operation": "Create or Update Managed Applications",
+ "description": "Create or Update Managed Applications"
+ },
+ "origin": "user,system",
+ "properties": {
+ "serviceSpecification": null
+ }
+ }
+ ],
+ "nextLink": "providers/Microsoft.AppPlatform?$skipToken={opaqueString}"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/RuntimeVersions_ListRuntimeVersions.json
new file mode 100644
index 000000000000..e7d20f59b80a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/RuntimeVersions_ListRuntimeVersions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-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/2021-03-03-preview/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_CheckNameAvailability.json
new file mode 100644
index 000000000000..ff0c15ffcabd
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_CheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "location": "eastus",
+ "availabilityParameters": {
+ "type": "Microsoft.AppPlatform/Spring",
+ "name": "myservice"
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The name is already used."
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_CreateOrUpdate.json
new file mode 100644
index 000000000000..f85a3740e515
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_CreateOrUpdate.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "resource": {
+ "properties": {},
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Creating",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_CreateOrUpdate_VNetInjection.json
new file mode 100644
index 000000000000..2dc924fa71e5
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_CreateOrUpdate_VNetInjection.json
@@ -0,0 +1,209 @@
+{
+ "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": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Creating",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "networkProfile": {
+ "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime",
+ "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps",
+ "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16",
+ "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg",
+ "appNetworkResourceGroup": "my-app-network-rg",
+ "outboundIPs": {
+ "publicIPs": [
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ },
+ "serviceId": "12345678abcd1234abcd12345678abcd"
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_Delete.json
new file mode 100644
index 000000000000..2cc19bbcd096
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..."
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_DisableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_DisableTestEndpoint.json
new file mode 100644
index 000000000000..f348166d4fea
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_DisableTestEndpoint.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_EnableTestEndpoint.json
new file mode 100644
index 000000000000..86e158b5cd63
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_EnableTestEndpoint.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": "",
+ "primaryTestEndpoint": "",
+ "secondaryTestEndpoint": "",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_Get.json
new file mode 100644
index 000000000000..300bae45ec66
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_Get.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_List.json
new file mode 100644
index 000000000000..fa1b79bb7ad4
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_List.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_ListBySubscription.json
new file mode 100644
index 000000000000..3fd6a5034e7c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_ListBySubscription.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_ListTestKeys.json
new file mode 100644
index 000000000000..86e158b5cd63
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_ListTestKeys.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": "",
+ "primaryTestEndpoint": "",
+ "secondaryTestEndpoint": "",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_RegenerateTestKey.json
new file mode 100644
index 000000000000..169f9a46390e
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_RegenerateTestKey.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "regenerateTestKeyRequest": {
+ "keyType": "Primary"
+ },
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": "",
+ "primaryTestEndpoint": "",
+ "secondaryTestEndpoint": "",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_Update.json
new file mode 100644
index 000000000000..9a9236326a01
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Services_Update.json
@@ -0,0 +1,133 @@
+{
+ "parameters": {
+ "resource": {
+ "properties": {},
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ "api-version": "2021-03-03-preview",
+ "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"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ },
+ "requiredTraffics": [
+ {
+ "protocol": "TCP",
+ "port": 443,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "UDP",
+ "port": 1194,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ },
+ {
+ "protocol": "TCP",
+ "port": 9000,
+ "ips": [
+ "20.62.211.25",
+ "52.188.47.226"
+ ],
+ "direction": "Outbound"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.AppPlatform/Spring",
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice",
+ "name": "myservice"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Skus_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Skus_List.json
new file mode 100644
index 000000000000..5125a0c391ef
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-03-03-preview/examples/Skus_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Spring",
+ "name": "B0",
+ "tier": "Basic",
+ "capacity": {
+ "minimum": 1,
+ "maximum": 20,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "locations": [
+ "eastus"
+ ],
+ "locationInfo": [
+ {
+ "location": "eastus",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "restrictions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/readme.azureresourceschema.md b/specification/appplatform/resource-manager/readme.azureresourceschema.md
index d2967f305b33..ff1758e942f2 100644
--- a/specification/appplatform/resource-manager/readme.azureresourceschema.md
+++ b/specification/appplatform/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-appplatform-2021-03-03-preview
- tag: schema-appplatform-2020-11-01-preview
- tag: schema-appplatform-2020-07-01
- tag: schema-appplatform-2019-05-01-preview
@@ -14,6 +15,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-appplatform-2021-03-03-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-appplatform-2021-03-03-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppPlatform/preview/2021-03-03-preview/appplatform.json
+
+```
+
### Tag: schema-appplatform-2020-11-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-appplatform-2020-11-01-preview' && $(azureresourceschema)
diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md
index 71e27fbfa375..d67828bed9ae 100644
--- a/specification/appplatform/resource-manager/readme.go.md
+++ b/specification/appplatform/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: appplatform
clear-output-folder: true
```
diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md
index 6c70a98ac544..0bc78e01730f 100644
--- a/specification/appplatform/resource-manager/readme.md
+++ b/specification/appplatform/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the AppPlatform API.
``` yaml
openapi-type: arm
-tag: package-preview-2020-11
+tag: package-preview-2021-03
```
### Suppression
@@ -50,14 +50,23 @@ directive:
```
+### Tag: package-preview-2021-03
+
+These settings apply only when `--tag=package-preview-2021-03` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-03'
+input-file:
+ - Microsoft.AppPlatform/preview/2021-03-03-preview/appplatform.json
+```
### Tag: package-preview-2020-11
These settings apply only when `--tag=package-preview-2020-11` is specified on the command line.
-```yaml $(tag) == 'package-preview-2020-11'
+``` yaml $(tag) == 'package-preview-2020-11'
input-file:
- Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json
```
+
### Tag: package-2020-07
These settings apply only when `--tag=package-2020-07` is specified on the command line.
@@ -91,6 +100,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
after_scripts:
- python ./scripts/multiapi_init_gen.py azure-mgmt-appplatform
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-net
- repo: azure-sdk-for-node
@@ -108,6 +118,10 @@ swagger-to-sdk:
See configuration in [readme.go.md](./readme.go.md)
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## Java
See configuration in [readme.java.md](./readme.java.md)
diff --git a/specification/attestation/data-plane/readme.go.md b/specification/attestation/data-plane/readme.go.md
index b349ef5c93ef..f069e7379fc0 100644
--- a/specification/attestation/data-plane/readme.go.md
+++ b/specification/attestation/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: attestation
clear-output-folder: true
```
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/stable/2018-09-01-preview/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/stable/2018-09-01-preview/attestation.json
index cf2fa31d9945..60c45a9d2d58 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/stable/2018-09-01-preview/attestation.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/stable/2018-09-01-preview/attestation.json
@@ -474,9 +474,6 @@
},
"AttestationProvider": {
"description": "Attestation service response message.",
- "required": [
- "properties"
- ],
"allOf": [
{
"$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json
index b5580e8bba18..7eab57d6a9be 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json
@@ -664,9 +664,6 @@
},
"AttestationProvider": {
"description": "Attestation service response message.",
- "required": [
- "properties"
- ],
"allOf": [
{
"$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
@@ -807,15 +804,6 @@
"$ref": "../../../../../common-types/rfcs/rfc7517.json#/definitions/JSONWebKeySet"
}
}
- },
- "PrivateEndpointConnectionProperties": {
- "properties": {
- "provisioningState": {
- "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionProvisioningState",
- "description": "Provisioning state of the private endpoint connection."
- }
- },
- "description": "Properties of the private endpoint connection resource."
}
},
"parameters": {
diff --git a/specification/attestation/resource-manager/readme.go.md b/specification/attestation/resource-manager/readme.go.md
index df9014b877d0..1af74c55b165 100644
--- a/specification/attestation/resource-manager/readme.go.md
+++ b/specification/attestation/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: attestation
clear-output-folder: true
```
diff --git a/specification/attestation/resource-manager/readme.md b/specification/attestation/resource-manager/readme.md
index ebc922b96ec8..f2099cd924dd 100644
--- a/specification/attestation/resource-manager/readme.md
+++ b/specification/attestation/resource-manager/readme.md
@@ -60,6 +60,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-python-track2
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-java
@@ -91,9 +92,9 @@ csharp:
See configuration in [readme.go.md](./readme.go.md)
-## Trenton
+## Terraform
-See configuration in [readme.trenton.md](./readme.trenton.md)
+See configuration in [readme.terraform.md](./readme.terraform.md)
## AzureResourceSchema
diff --git a/specification/attestation/resource-manager/readme.python.md b/specification/attestation/resource-manager/readme.python.md
index 30daafcd83eb..b84b53a2d352 100644
--- a/specification/attestation/resource-manager/readme.python.md
+++ b/specification/attestation/resource-manager/readme.python.md
@@ -23,13 +23,15 @@ namespace: azure.mgmt.attestation
package-name: azure-mgmt-attestation
package-version: 0.1.0
clear-output-folder: true
+modelerfour:
+ lenient-model-deduplication: true
```
``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation/azure/mgmt/attestation
```
-``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation
diff --git a/specification/attestation/resource-manager/readme.terraform.md b/specification/attestation/resource-manager/readme.terraform.md
new file mode 100644
index 000000000000..113a5f92b3dd
--- /dev/null
+++ b/specification/attestation/resource-manager/readme.terraform.md
@@ -0,0 +1,21 @@
+
+## Terraform
+
+These settings apply only when `--terraform` is specified on the command line.
+
+``` yaml $(terraform)
+terraform:
+ cli-name: attestation
+ package-name: attestation
+clear-output-folder: true
+output-folder: $(terraform-output-folder)/attestation
+overrides:
+ - where:
+ property: "x5C"
+ set:
+ - GoFieldName: X5c
+ - where:
+ property: "/creationParams/properties"
+ set:
+ - GoFieldName: Properties
+```
diff --git a/specification/attestation/resource-manager/readme.trenton.md b/specification/attestation/resource-manager/readme.trenton.md
deleted file mode 100644
index 3e0da01d7f39..000000000000
--- a/specification/attestation/resource-manager/readme.trenton.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-## trenton
-
-These settings apply only when `--trenton` is specified on the command line.
-
-``` yaml $(trenton)
-trenton:
- cli-name: attestation
- package-name: attestation
-clear-output-folder: true
-output-folder: $(trenton-output-folder)/attestation
-overrides:
- - where:
- property: "x5C"
- set:
- - GoFieldName: X5c
- - where:
- property: "/creationParams/properties"
- set:
- - GoFieldName: Properties
-```
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-ClassicAdminCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-ClassicAdminCalls.json
deleted file mode 100644
index 15dfa0ddb9cc..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-ClassicAdminCalls.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "AuthorizationManagementClient",
- "version": "2020-03-01-preview",
- "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role definitions and role assignments. A role definition describes the set of actions that can be performed on resources. A role assignment grants access to Azure Active Directory users."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators": {
- "get": {
- "tags": [
- "ClassicAdministrators"
- ],
- "operationId": "ClassicAdministrators_List",
- "description": "List service administrator, account administrator, and co-administrators for the subscription.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of administrators.",
- "schema": {
- "$ref": "#/definitions/ClassicAdministratorListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List classic administrators": {
- "$ref": "./examples/ClassicAdministrators_List.json"
- }
- }
- }
- }
- },
- "definitions": {
- "ClassicAdministratorProperties": {
- "properties": {
- "emailAddress": {
- "type": "string",
- "description": "The email address of the administrator."
- },
- "role": {
- "type": "string",
- "description": "The role of the administrator."
- }
- },
- "description": "Classic Administrator properties."
- },
- "ClassicAdministrator": {
- "properties": {
- "id": {
- "type": "string",
- "description": "The ID of the administrator."
- },
- "name": {
- "type": "string",
- "description": "The name of the administrator."
- },
- "type": {
- "type": "string",
- "description": "The type of the administrator."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClassicAdministratorProperties",
- "description": "Properties for the classic administrator."
- }
- },
- "description": "Classic Administrators"
- },
- "ClassicAdministratorListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ClassicAdministrator"
- },
- "description": "An array of administrators."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URL to use for getting the next set of results."
- }
- },
- "description": "ClassicAdministrator list result information."
- }
- },
- "parameters": {}
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-DenyAssignmentGetCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-DenyAssignmentGetCalls.json
deleted file mode 100644
index 63d3b9bbcd6c..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-DenyAssignmentGetCalls.json
+++ /dev/null
@@ -1,677 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "AuthorizationManagementClient",
- "version": "2020-03-01-preview",
- "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to get deny assignments. A deny assignment describes the set of actions on resources that are denied for Azure Active Directory users."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/denyAssignments": {
- "get": {
- "tags": [
- "DenyAssignments"
- ],
- "operationId": "DenyAssignments_ListForResource",
- "description": "List deny assignments for a resource.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./common-types.json#/parameters/ResourceProviderNamespaceParameter"
- },
- {
- "$ref": "./common-types.json#/parameters/ResourceTypeParameter"
- },
- {
- "$ref": "./common-types.json#/parameters/ResourceNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of deny assignments.",
- "schema": {
- "$ref": "#/definitions/DenyAssignmentListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/DenyAssignmentFilter",
- "x-ms-examples": {
- "List deny assignments for resource": {
- "$ref": "./examples/DenyAssignments_ListForResource.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/denyAssignments": {
- "get": {
- "tags": [
- "DenyAssignments"
- ],
- "operationId": "DenyAssignments_ListForResourceGroup",
- "description": "List deny assignments for a resource group.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of deny assignments.",
- "schema": {
- "$ref": "#/definitions/DenyAssignmentListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/DenyAssignmentFilter",
- "x-ms-examples": {
- "List deny assignments for resource group": {
- "$ref": "./examples/DenyAssignments_ListForResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/denyAssignments": {
- "get": {
- "tags": [
- "DenyAssignments"
- ],
- "operationId": "DenyAssignments_ListForSubscription",
- "description": "List all deny assignments for the subscription.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of deny assignments.",
- "schema": {
- "$ref": "#/definitions/DenyAssignmentListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/DenyAssignmentFilter",
- "x-ms-examples": {
- "List deny assignments for subscription": {
- "$ref": "./examples/DenyAssignments_ListForSubscription.json"
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentName}": {
- "get": {
- "operationId": "DenyAssignments_Get",
- "tags": [
- "DenyAssignments"
- ],
- "description": "Get a deny assignment by scope and name.",
- "parameters": [
- {
- "$ref": "./common-types.json#/parameters/ScopeParameter"
- },
- {
- "$ref": "#/parameters/DenyAssignmentNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns the deny assignment.",
- "schema": {
- "$ref": "#/definitions/DenyAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get deny assignment by scope name": {
- "$ref": "./examples/DenyAssignments_Get.json"
- }
- }
- },
- "put": {
- "tags": [
- "DenyAssignments"
- ],
- "operationId": "DenyAssignments_Create",
- "description": "Create or update a deny assignment by scope and name.",
- "parameters": [
- {
- "$ref": "./common-types.json#/parameters/ScopeParameter"
- },
- {
- "$ref": "#/parameters/DenyAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/DenyAssignmentCreateParameters"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "201": {
- "description": "Returns the deny assignment.",
- "schema": {
- "$ref": "#/definitions/DenyAssignment"
- }
- },
- "200": {
- "description": "Returns the deny assignment.",
- "schema": {
- "$ref": "#/definitions/DenyAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create deny assignment for subscription": {
- "$ref": "./examples/DenyAssignments_CreateForSubscription.json"
- },
- "Create deny assignment for resource group": {
- "$ref": "./examples/DenyAssignments_CreateForResourceGroup.json"
- },
- "Create deny assignment for resource": {
- "$ref": "./examples/DenyAssignments_CreateForResource.json"
- }
- }
- },
- "delete": {
- "tags": [
- "DenyAssignments"
- ],
- "operationId": "DenyAssignments_Delete",
- "description": "Delete a deny assignment by scope and name.",
- "parameters": [
- {
- "$ref": "./common-types.json#/parameters/ScopeParameter"
- },
- {
- "$ref": "#/parameters/DenyAssignmentNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns the deleted deny assignment.",
- "schema": {
- "$ref": "#/definitions/DenyAssignment"
- }
- },
- "204": {
- "description": "Deny assignment was already deleted or does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete deny assignment": {
- "$ref": "./examples/DenyAssignments_Delete.json"
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.Authorization/denyAssignments": {
- "get": {
- "tags": [
- "DenyAssignments"
- ],
- "operationId": "DenyAssignments_ListForScope",
- "description": "List deny assignments for a scope.",
- "parameters": [
- {
- "$ref": "./common-types.json#/parameters/ScopeParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/FilterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of deny assignments.",
- "schema": {
- "$ref": "#/definitions/DenyAssignmentListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/DenyAssignmentFilter",
- "x-ms-examples": {
- "List deny assignments for scope": {
- "$ref": "./examples/DenyAssignments_ListForScope.json"
- }
- }
- }
- },
- "/{denyAssignmentId}": {
- "get": {
- "operationId": "DenyAssignments_GetById",
- "tags": [
- "DenyAssignments"
- ],
- "description": "Get a deny assignment by ID.",
- "parameters": [
- {
- "$ref": "#/parameters/DenyAssignmentIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns the deny assignment.",
- "schema": {
- "$ref": "#/definitions/DenyAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get deny assignment by ID": {
- "$ref": "./examples/DenyAssignments_GetById.json"
- }
- }
- },
- "put": {
- "tags": [
- "DenyAssignments"
- ],
- "operationId": "DenyAssignments_CreateById",
- "description": "Create or update a deny assignment by ID.",
- "parameters": [
- {
- "$ref": "#/parameters/DenyAssignmentIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/DenyAssignmentCreateParameters"
- }
- ],
- "responses": {
- "201": {
- "description": "Returns the deny assignment.",
- "schema": {
- "$ref": "#/definitions/DenyAssignment"
- }
- },
- "200": {
- "description": "Returns the deny assignment.",
- "schema": {
- "$ref": "#/definitions/DenyAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update deny assignment by ID": {
- "$ref": "./examples/DenyAssignments_CreateById.json"
- }
- }
- },
- "delete": {
- "tags": [
- "DenyAssignments"
- ],
- "operationId": "DenyAssignments_DeleteById",
- "description": "Delete a deny assignment by ID.",
- "parameters": [
- {
- "$ref": "#/parameters/DenyAssignmentIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns the deleted deny assignment.",
- "schema": {
- "$ref": "#/definitions/DenyAssignment"
- }
- },
- "204": {
- "description": "Deny assignment already deleted or does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete deny assignment by ID": {
- "$ref": "./examples/DenyAssignments_DeleteById.json"
- }
- }
- }
- }
- },
- "definitions": {
- "DenyAssignmentFilter": {
- "properties": {
- "denyAssignmentName": {
- "type": "string",
- "description": "Return deny assignment with specified name."
- },
- "principalId": {
- "type": "string",
- "description": "Return all deny assignments where the specified principal is listed in the principals list of deny assignments."
- },
- "gdprExportPrincipalId": {
- "type": "string",
- "description": "Return all deny assignments where the specified principal is listed either in the principals list or exclude principals list of deny assignments."
- }
- },
- "description": "Deny Assignments filter"
- },
- "DenyAssignmentProperties": {
- "properties": {
- "denyAssignmentName": {
- "type": "string",
- "description": "The display name of the deny assignment."
- },
- "description": {
- "type": "string",
- "description": "The description of the deny assignment."
- },
- "permissions": {
- "type": "array",
- "items": {
- "$ref": "./common-types.json#/definitions/Permission"
- },
- "description": "An array of permissions that are denied by the deny assignment."
- },
- "doNotApplyToChildScopes": {
- "type": "boolean",
- "description": "Determines if the deny assignment applies to child scopes. Default value is false."
- },
- "principals": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Principal"
- },
- "description": "Array of principals to which the deny assignment applies."
- },
- "excludePrincipals": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Principal"
- },
- "description": "Array of principals to which the deny assignment does not apply."
- },
- "isSystemProtected": {
- "type": "boolean",
- "description": "Specifies whether this deny assignment was created by Azure and cannot be edited or deleted."
- },
- "condition": {
- "type": "string",
- "description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'"
- },
- "conditionVersion": {
- "type": "string",
- "description": "Version of the condition. Currently accepted value is '2.0'"
- },
- "scope": {
- "type": "string",
- "description": "The deny assignment scope."
- },
- "createdOn": {
- "readOnly": true,
- "type": "string",
- "description": "Time it was created",
- "format": "date-time"
- },
- "updatedOn": {
- "readOnly": true,
- "type": "string",
- "description": "Time it was updated",
- "format": "date-time"
- },
- "createdBy": {
- "readOnly": true,
- "type": "string",
- "description": "Id of the user who created the assignment"
- },
- "updatedBy": {
- "readOnly": true,
- "type": "string",
- "description": "Id of the user who updated the assignment"
- }
- },
- "required": [
- "principals",
- "permissions"
- ],
- "description": "Deny assignment properties."
- },
- "DenyAssignment": {
- "x-ms-azure-resource": true,
- "properties": {
- "id": {
- "type": "string",
- "readOnly": true,
- "description": "The deny assignment ID."
- },
- "name": {
- "type": "string",
- "readOnly": true,
- "description": "The deny assignment name."
- },
- "type": {
- "type": "string",
- "readOnly": true,
- "description": "The deny assignment type."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/DenyAssignmentProperties",
- "description": "Deny assignment properties."
- }
- },
- "description": "Deny Assignment"
- },
- "DenyAssignmentListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/DenyAssignment"
- },
- "description": "Deny assignment list."
- },
- "nextLink": {
- "type": "string",
- "description": "The URL to use for getting the next set of results."
- }
- },
- "description": "Deny assignment list operation result."
- },
- "Principal": {
- "properties": {
- "id": {
- "type": "string",
- "description": "Object ID of the Azure AD principal (user, group, or service principal) to which the deny assignment applies. An empty guid '00000000-0000-0000-0000-000000000000' as principal id and principal type as 'Everyone' represents all users, groups and service principals."
- },
- "type": {
- "type": "string",
- "description": "Type of object represented by principal id (user, group, or service principal). An empty guid '00000000-0000-0000-0000-000000000000' as principal id and principal type as 'Everyone' represents all users, groups and service principals."
- }
- },
- "description": "Deny assignment principal."
- },
- "DenyAssignmentCreateParameters": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/DenyAssignmentProperties",
- "description": "Deny assignment properties."
- }
- },
- "required": [
- "properties"
- ],
- "description": "Deny assignment create parameters."
- }
- },
- "parameters": {
- "FilterParameter": {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny assignments that contain the specified principal is the Principals list but also those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned.",
- "x-ms-parameter-location": "method"
- },
- "DenyAssignmentNameParameter": {
- "name": "denyAssignmentName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the deny assignment. It can be any valid GUID.",
- "x-ms-skip-url-encoding": true,
- "x-ms-parameter-location": "method"
- },
- "DenyAssignmentIdParameter": {
- "name": "denyAssignmentId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The fully qualified ID of the deny assignment including scope, resource name, and resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/",
- "x-ms-skip-url-encoding": true,
- "x-ms-parameter-location": "method"
- },
- "DenyAssignmentCreateParameters": {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DenyAssignmentCreateParameters"
- },
- "description": "Parameters for the deny assignment.",
- "x-ms-parameter-location": "method"
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-ElevateAccessCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-ElevateAccessCalls.json
deleted file mode 100644
index 8630ff29a7f5..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-ElevateAccessCalls.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "AuthorizationManagementClient",
- "version": "2020-03-01-preview",
- "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role definitions and role assignments. A role definition describes the set of actions that can be performed on resources. A role assignment grants access to Azure Active Directory users."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/providers/Microsoft.Authorization/elevateAccess": {
- "post": {
- "tags": [
- "ElevateAccess"
- ],
- "operationId": "GlobalAdministrator_ElevateAccess",
- "description": "Elevate access for a Global Administrator.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Elevate access global administrator": {
- "$ref": "./examples/GlobalAdministrator_ElevateAccess.json"
- }
- }
- }
- }
- },
- "parameters": {}
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-PermissionsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-PermissionsCalls.json
deleted file mode 100644
index 0e22313c21b2..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-PermissionsCalls.json
+++ /dev/null
@@ -1,190 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "AuthorizationManagementClient",
- "version": "2020-03-01-preview",
- "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations allow you to manage role definitions. A role definition describes the set of actions that can be performed on resources."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/permissions": {
- "get": {
- "tags": [
- "Permissions"
- ],
- "operationId": "Permissions_ListForSubscription",
- "description": "List all permissions the caller has for a subscription.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of permissions.",
- "schema": {
- "$ref": "#/definitions/PermissionGetResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List permissions for subscription": {
- "$ref": "./examples/Permissions_ListForSubscription.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions": {
- "get": {
- "tags": [
- "Permissions"
- ],
- "operationId": "Permissions_ListForResourceGroup",
- "description": "List all permissions the caller has for a resource group.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of permissions.",
- "schema": {
- "$ref": "#/definitions/PermissionGetResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List permissions for resource group": {
- "$ref": "./examples/Permissions_ListForResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions": {
- "get": {
- "tags": [
- "Permissions"
- ],
- "operationId": "Permissions_ListForResource",
- "description": "List all permissions the caller has for a resource.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./common-types.json#/parameters/ResourceProviderNamespaceParameter"
- },
- {
- "$ref": "./common-types.json#/parameters/ResourceTypeParameter"
- },
- {
- "$ref": "./common-types.json#/parameters/ResourceNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of permissions.",
- "schema": {
- "$ref": "#/definitions/PermissionGetResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List permissions for resource": {
- "$ref": "./examples/Permissions_ListForResource.json"
- }
- }
- }
- }
- },
- "definitions": {
- "PermissionGetResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "./common-types.json#/definitions/Permission"
- },
- "description": "An array of permissions."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URL to use for getting the next set of results."
- }
- },
- "description": "Permissions information."
- }
- },
- "parameters": {}
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-ProviderOperationsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-ProviderOperationsCalls.json
deleted file mode 100644
index 96294439b5bc..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-ProviderOperationsCalls.json
+++ /dev/null
@@ -1,231 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "AuthorizationManagementClient",
- "version": "2020-03-01-preview",
- "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These calls handle provider operations."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}": {
- "get": {
- "tags": [
- "ProviderOperationsMetadata"
- ],
- "operationId": "ProviderOperationsMetadata_Get",
- "description": "List provider operations metadata for the specified resource provider.",
- "parameters": [
- {
- "$ref": "./common-types.json#/parameters/ResourceProviderNamespaceParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/ExpandParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns the operations metadata.",
- "schema": {
- "$ref": "#/definitions/ProviderOperationsMetadata"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "List provider operations metadata for resource provider": {
- "$ref": "./examples/ProviderOperations_ListForRP.json"
- }
- }
- }
- },
- "/providers/Microsoft.Authorization/providerOperations": {
- "get": {
- "tags": [
- "ProviderOperationsMetadata"
- ],
- "operationId": "ProviderOperationsMetadata_List",
- "description": "List provider operations metadata for all resource providers.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/ExpandParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of operations metadata.",
- "schema": {
- "$ref": "#/definitions/ProviderOperationsMetadataListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List provider operations metadata for all resource providers": {
- "$ref": "./examples/ProviderOperations_List.json"
- }
- }
- }
- }
- },
- "definitions": {
- "ResourceType": {
- "properties": {
- "name": {
- "type": "string",
- "description": "The resource type name."
- },
- "displayName": {
- "type": "string",
- "description": "The resource type display name."
- },
- "operations": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProviderOperation"
- },
- "description": "The resource type operations."
- }
- },
- "description": "Resource Type"
- },
- "ProviderOperation": {
- "properties": {
- "name": {
- "type": "string",
- "description": "The operation name."
- },
- "displayName": {
- "type": "string",
- "description": "The operation display name."
- },
- "description": {
- "type": "string",
- "description": "The operation description."
- },
- "origin": {
- "type": "string",
- "description": "The operation origin."
- },
- "properties": {
- "type": "object",
- "x-ms-client-flatten": true,
- "description": "The operation properties."
- },
- "isDataAction": {
- "type": "boolean",
- "description": "The dataAction flag to specify the operation type."
- }
- },
- "description": "Operation"
- },
- "ProviderOperationsMetadata": {
- "properties": {
- "id": {
- "type": "string",
- "description": "The provider id."
- },
- "name": {
- "type": "string",
- "description": "The provider name."
- },
- "type": {
- "type": "string",
- "description": "The provider type."
- },
- "displayName": {
- "type": "string",
- "description": "The provider display name."
- },
- "resourceTypes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ResourceType"
- },
- "description": "The provider resource types"
- },
- "operations": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProviderOperation"
- },
- "description": "The provider operations."
- }
- },
- "description": "Provider Operations metadata"
- },
- "ProviderOperationsMetadataListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProviderOperationsMetadata"
- },
- "description": "The list of providers."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URL to use for getting the next set of results."
- }
- },
- "description": "Provider operations metadata list"
- }
- },
- "parameters": {
- "ExpandParameter": {
- "name": "$expand",
- "in": "query",
- "required": false,
- "type": "string",
- "default": "resourceTypes",
- "description": "Specifies whether to expand the values.",
- "x-ms-parameter-location": "method"
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-RoleDefinitionsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-RoleDefinitionsCalls.json
deleted file mode 100644
index 543e386d2cdf..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/authorization-RoleDefinitionsCalls.json
+++ /dev/null
@@ -1,588 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "AuthorizationManagementClient",
- "version": "2020-03-01-preview",
- "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations allow you to manage role definitions. A role definition describes the set of actions that can be performed on resources."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions": {
- "get": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_ListForSubscription",
- "description": "List all role definitions that apply to a subscription.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/RoleDefinitionFilterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of role definitions.",
- "schema": {
- "$ref": "#/definitions/RoleDefinitionListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-odata": "#/definitions/RoleDefinitionFilter",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List role definitions for subscription": {
- "$ref": "./examples/RoleDefinitions_ListForSubscription.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleDefinitions": {
- "get": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_ListForResourceGroup",
- "description": "List all role definitions that apply to a resource group.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/RoleDefinitionFilterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of role definitions.",
- "schema": {
- "$ref": "#/definitions/RoleDefinitionListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-odata": "#/definitions/RoleDefinitionFilter",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List role definitions for resource group": {
- "$ref": "./examples/RoleDefinitions_ListForResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleDefinitions": {
- "get": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_ListForResource",
- "description": "List all role definitions that apply to a resource.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./common-types.json#/parameters/ResourceProviderNamespaceParameter"
- },
- {
- "$ref": "./common-types.json#/parameters/ResourceTypeParameter"
- },
- {
- "$ref": "./common-types.json#/parameters/ResourceNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/RoleDefinitionFilterParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of role definitions.",
- "schema": {
- "$ref": "#/definitions/RoleDefinitionListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-odata": "#/definitions/RoleDefinitionFilter",
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List role definitions for a resource": {
- "$ref": "./examples/RoleDefinitions_ListForResource.json"
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionName}": {
- "get": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_Get",
- "description": "Get a role definition by scope and name.",
- "parameters": [
- {
- "$ref": "./common-types.json#/parameters/ScopeParameter"
- },
- {
- "$ref": "#/parameters/RoleDefinitionNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns the role definition.",
- "schema": {
- "$ref": "#/definitions/RoleDefinition"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get role definition by scope and name": {
- "$ref": "./examples/RoleDefinitions_Get.json"
- }
- }
- },
- "put": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_Create",
- "description": "Create or update a role definition by scope and name.",
- "parameters": [
- {
- "$ref": "./common-types.json#/parameters/ScopeParameter"
- },
- {
- "$ref": "#/parameters/RoleDefinitionNameParameter"
- },
- {
- "$ref": "#/parameters/RoleDefinitionCreateParameters"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "201": {
- "description": "Returns the role definition.",
- "schema": {
- "$ref": "#/definitions/RoleDefinition"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create role definition for subscription": {
- "$ref": "./examples/RoleDefinitions_CreateForSubscription.json"
- },
- "Create role definition for resource group": {
- "$ref": "./examples/RoleDefinitions_CreateForResourceGroup.json"
- },
- "Create role definition for resource": {
- "$ref": "./examples/RoleDefinitions_CreateForResource.json"
- }
- }
- },
- "delete": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_Delete",
- "description": "Delete a role definition by scope and name.",
- "parameters": [
- {
- "$ref": "./common-types.json#/parameters/ScopeParameter"
- },
- {
- "$ref": "#/parameters/RoleDefinitionNameParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns the deleted role definition.",
- "schema": {
- "$ref": "#/definitions/RoleDefinition"
- }
- },
- "204": {
- "description": "Role definition was already deleted or does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete role definition": {
- "$ref": "./examples/RoleDefinitions_Delete.json"
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.Authorization/roleDefinitions": {
- "get": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_ListForScope",
- "description": "List all role definitions that apply to a scope.",
- "parameters": [
- {
- "$ref": "./common-types.json#/parameters/ScopeParameter"
- },
- {
- "$ref": "#/parameters/RoleDefinitionFilterParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of role definitions.",
- "schema": {
- "$ref": "#/definitions/RoleDefinitionListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-odata": "#/definitions/RoleDefinitionFilter",
- "x-ms-examples": {
- "List role definitions for scope": {
- "$ref": "./examples/RoleDefinitions_ListForScope.json"
- }
- }
- }
- },
- "/{roleDefinitionId}": {
- "get": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_GetById",
- "description": "Get a role definition by ID.",
- "parameters": [
- {
- "$ref": "#/parameters/RoleDefinitionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns the role definition.",
- "schema": {
- "$ref": "#/definitions/RoleDefinition"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get role definition by ID": {
- "$ref": "./examples/RoleDefinitions_GetById.json"
- }
- }
- },
- "put": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_CreateById",
- "description": "Create or update a role definition by ID.",
- "parameters": [
- {
- "$ref": "#/parameters/RoleDefinitionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/RoleDefinitionCreateParameters"
- }
- ],
- "responses": {
- "201": {
- "description": "Returns the role definition.",
- "schema": {
- "$ref": "#/definitions/RoleDefinition"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update role definition by ID": {
- "$ref": "./examples/RoleDefinitions_CreateById.json"
- }
- }
- },
- "delete": {
- "tags": [
- "RoleDefinitions"
- ],
- "operationId": "RoleDefinitions_DeleteById",
- "description": "Delete a role definition by ID.",
- "parameters": [
- {
- "$ref": "#/parameters/RoleDefinitionIdParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns the deleted role definition.",
- "schema": {
- "$ref": "#/definitions/RoleDefinition"
- }
- },
- "204": {
- "description": "Role definition already deleted or does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Delete role definition by ID": {
- "$ref": "./examples/RoleDefinitions_DeleteById.json"
- }
- }
- }
- }
- },
- "definitions": {
- "RoleDefinitionFilter": {
- "properties": {
- "roleName": {
- "type": "string",
- "description": "Returns role definition with the specific name."
- },
- "type": {
- "type": "string",
- "description": "Returns role definition with the specific type."
- }
- },
- "description": "Role Definitions filter"
- },
- "RoleDefinitionProperties": {
- "properties": {
- "roleName": {
- "type": "string",
- "description": "The role name."
- },
- "description": {
- "type": "string",
- "description": "The role definition description."
- },
- "type": {
- "type": "string",
- "description": "The role type.",
- "x-ms-client-name": "roleType"
- },
- "permissions": {
- "type": "array",
- "items": {
- "$ref": "./common-types.json#/definitions/Permission"
- },
- "description": "Role definition permissions."
- },
- "assignableScopes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Role definition assignable scopes."
- }
- },
- "description": "Role definition properties."
- },
- "RoleDefinition": {
- "properties": {
- "id": {
- "type": "string",
- "readOnly": true,
- "description": "The role definition ID."
- },
- "name": {
- "type": "string",
- "readOnly": true,
- "description": "The role definition name."
- },
- "type": {
- "type": "string",
- "readOnly": true,
- "description": "The role definition type."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/RoleDefinitionProperties",
- "description": "Role definition properties."
- }
- },
- "description": "Role definition."
- },
- "RoleDefinitionListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RoleDefinition"
- },
- "description": "Role definition list."
- },
- "nextLink": {
- "readOnly": true,
- "type": "string",
- "description": "The URL to use for getting the next set of results."
- }
- },
- "description": "Role definition list operation result."
- }
- },
- "parameters": {
- "RoleDefinitionFilterParameter": {
- "name": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "The filter to apply on the operation. Use $filter=atScope() to return all deny definitions at or above the scope. Use $filter=denyDefinitionName eq '{name}' to search deny definitions by name at specified scope. Use $filter=principalId eq '{id}' to return all deny definitions at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny definitions at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny definitions that contain the specified principal is the Principals list but also those deny definitions that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny definition name and description properties are returned.",
- "x-ms-skip-url-encoding": true,
- "x-ms-parameter-location": "method"
- },
- "RoleDefinitionIdParameter": {
- "name": "roleDefinitionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The ID of the role definition to delete.",
- "x-ms-skip-url-encoding": true,
- "x-ms-parameter-location": "method"
- },
- "RoleDefinitionNameParameter": {
- "name": "roleDefinitionName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The name of the role definition to delete.",
- "x-ms-skip-url-encoding": true,
- "x-ms-parameter-location": "method"
- },
- "RoleDefinitionCreateParameters": {
- "name": "roleDefinition",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/RoleDefinition"
- },
- "description": "Parameters for the role definition.",
- "x-ms-parameter-location": "method"
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/ClassicAdministrators_List.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/ClassicAdministrators_List.json
deleted file mode 100644
index 37d24f11fc21..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/ClassicAdministrators_List.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "emailAddress": "test@test.com",
- "role": "ServiceAdministrator;AccountAdministrator"
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/classicAdministrators/28832768-55e0-416e-9eb5-b3bf3d3f241a",
- "type": "Microsoft.Authorization/classicAdministrators",
- "name": "28832768-55e0-416e-9eb5-b3bf3d3f241a"
- },
- {
- "properties": {
- "emailAddress": "coadmin@test.com",
- "role": "CoAdministrator"
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/classicAdministrators/4806b958-2a27-448c-aa75-daf320dc80c6",
- "type": "Microsoft.Authorization/classicAdministrators",
- "name": "4806b958-2a27-448c-aa75-daf320dc80c6"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateById.json
deleted file mode 100644
index cffd481b320b..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateById.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "parameters": {
- "denyAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "api-version": "2020-03-01-preview",
- "parameters": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "description": "Test deny assignment"
- }
- }
- },
- "responses": {
- "201": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- },
- "200": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateForResource.json
deleted file mode 100644
index d6a3bed2276f..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateForResource.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
- "denyAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
- "api-version": "2020-03-01-preview",
- "parameters": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "description": "Test deny assignment"
- }
- }
- },
- "responses": {
- "201": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- },
- "200": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateForResourceGroup.json
deleted file mode 100644
index f76c62be6221..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateForResourceGroup.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
- "denyAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
- "api-version": "2020-03-01-preview",
- "parameters": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "description": "Test deny assignment"
- }
- }
- },
- "responses": {
- "201": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- },
- "200": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateForSubscription.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateForSubscription.json
deleted file mode 100644
index c78c80a2256d..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_CreateForSubscription.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "denyAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
- "api-version": "2020-03-01-preview",
- "parameters": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "description": "Test deny assignment"
- }
- }
- },
- "responses": {
- "201": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- },
- "200": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_Delete.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_Delete.json
deleted file mode 100644
index e0885b6a2993..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_Delete.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "denyAssignmentName": "b0f43c54-e787-4862-89b1-a653fa9cf747",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- },
- "204": {}
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_DeleteById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_DeleteById.json
deleted file mode 100644
index 8aa4acbe98f3..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_DeleteById.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "parameters": {
- "denyAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": null
- }
- ],
- "principals": [
- {
- "id": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
- "type": "User"
- }
- ],
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "description": "Test deny assignment",
- "isSystemProtected": false,
- "createdOn": "2021-02-02T23:41:35.1395931Z",
- "updatedOn": "2021-02-02T23:41:35.1395931Z",
- "createdBy": "",
- "updatedBy": ""
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/denyAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
- }
- },
- "204": {}
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_Get.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_Get.json
deleted file mode 100644
index 699dc160c6f7..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_Get.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg",
- "denyAssignmentName": "0b5fe924-9a61-425c-96af-cfe6e287ca2d",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "denyAssignmentName": "Deny assignment name",
- "description": "Deny assignment description",
- "permissions": [
- {
- "actions": [
- "*"
- ],
- "notActions": [
- "Microsoft.Authorization/*/Delete",
- "Microsoft.Authorization/*/Write"
- ],
- "dataActions": [],
- "notDataActions": []
- }
- ],
- "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg",
- "doNotApplyToChildScopes": false,
- "principals": [
- {
- "id": "principalId1",
- "type": "principalType1"
- }
- ],
- "excludePrincipals": [
- {
- "id": "principalId2",
- "type": "principalType2"
- }
- ],
- "isSystemProtected": true
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg/providers/Microsoft.Authorization/denyAssignments/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "0b5fe924-9a61-425c-96af-cfe6e287ca2d"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_GetById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_GetById.json
deleted file mode 100644
index 7707a55df084..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_GetById.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "parameters": {
- "denyAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg/providers/Microsoft.Authorization/denyAssignments/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "denyAssignmentName": "Deny assignment name",
- "description": "Deny assignment description",
- "permissions": [
- {
- "actions": [
- "*"
- ],
- "notActions": [
- "Microsoft.Authorization/*/Delete",
- "Microsoft.Authorization/*/Write"
- ],
- "dataActions": [],
- "notDataActions": []
- }
- ],
- "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg",
- "doNotApplyToChildScopes": false,
- "principals": [
- {
- "id": "principalId1",
- "type": "principalType1"
- }
- ],
- "excludePrincipals": [
- {
- "id": "principalId2",
- "type": "principalType2"
- }
- ],
- "isSystemProtected": true
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg/providers/Microsoft.Authorization/denyAssignments/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "0b5fe924-9a61-425c-96af-cfe6e287ca2d"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForResource.json
deleted file mode 100644
index b90bf30669d5..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForResource.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "resourceGroupName": "testrg",
- "resourceProviderNamespace": "Microsoft.DocumentDb",
- "resourceType": "databaseAccounts",
- "resourceName": "test-db-account",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "denyAssignmentName": "Deny assignment name",
- "description": "Deny assignment description",
- "permissions": [
- {
- "actions": [
- "*"
- ],
- "notActions": [
- "Microsoft.Authorization/*/Delete",
- "Microsoft.Authorization/*/Write"
- ],
- "dataActions": [
- "action"
- ],
- "notDataActions": []
- }
- ],
- "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
- "doNotApplyToChildScopes": false,
- "principals": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "type": "Everyone"
- }
- ],
- "excludePrincipals": [
- {
- "id": "2c2f5b3a-5bae-4b80-b4d0-eb75e484a2e8",
- "type": "User"
- }
- ],
- "isSystemProtected": true
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/denyAssignments/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "0b5fe924-9a61-425c-96af-cfe6e287ca2d"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForResourceGroup.json
deleted file mode 100644
index 8dcab3438cb4..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForResourceGroup.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "resourceGroupName": "testrg",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "denyAssignmentName": "Deny assignment name",
- "description": "Deny assignment description",
- "permissions": [
- {
- "actions": [
- "*"
- ],
- "notActions": [
- "Microsoft.Authorization/*/Delete",
- "Microsoft.Authorization/*/Write"
- ],
- "dataActions": [
- "action"
- ],
- "notDataActions": []
- }
- ],
- "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg",
- "doNotApplyToChildScopes": false,
- "principals": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "type": "Everyone"
- }
- ],
- "excludePrincipals": [
- {
- "id": "2c2f5b3a-5bae-4b80-b4d0-eb75e484a2e8",
- "type": "User"
- }
- ],
- "isSystemProtected": true
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg/providers/Microsoft.Authorization/denyAssignments/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "0b5fe924-9a61-425c-96af-cfe6e287ca2d"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForScope.json
deleted file mode 100644
index 2a67dcba3881..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForScope.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "denyAssignmentName": "Deny assignment name",
- "description": "Deny assignment description",
- "permissions": [
- {
- "actions": [
- "*"
- ],
- "notActions": [
- "Microsoft.Authorization/*/Delete",
- "Microsoft.Authorization/*/Write"
- ],
- "dataActions": [
- "action"
- ],
- "notDataActions": []
- }
- ],
- "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg",
- "doNotApplyToChildScopes": false,
- "principals": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "type": "Everyone"
- }
- ],
- "excludePrincipals": [
- {
- "id": "2c2f5b3a-5bae-4b80-b4d0-eb75e484a2e8",
- "type": "User"
- }
- ],
- "isSystemProtected": true
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourcegroups/testrg/providers/Microsoft.Authorization/denyAssignments/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "0b5fe924-9a61-425c-96af-cfe6e287ca2d"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForSubscription.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForSubscription.json
deleted file mode 100644
index 812bfabd8b7e..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/DenyAssignments_ListForSubscription.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "denyAssignmentName": "Deny assignment name",
- "description": "Deny assignment description",
- "permissions": [
- {
- "actions": [
- "*"
- ],
- "notActions": [
- "Microsoft.Authorization/*/Delete",
- "Microsoft.Authorization/*/Write"
- ],
- "dataActions": [
- "action"
- ],
- "notDataActions": []
- }
- ],
- "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "doNotApplyToChildScopes": false,
- "principals": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "type": "Everyone"
- }
- ],
- "excludePrincipals": [
- {
- "id": "2c2f5b3a-5bae-4b80-b4d0-eb75e484a2e8",
- "type": "User"
- }
- ],
- "isSystemProtected": true
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/denyAssignments/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
- "type": "Microsoft.Authorization/denyAssignments",
- "name": "0b5fe924-9a61-425c-96af-cfe6e287ca2d"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/GlobalAdministrator_ElevateAccess.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/GlobalAdministrator_ElevateAccess.json
deleted file mode 100644
index 39c5a40e6794..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/GlobalAdministrator_ElevateAccess.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/Permissions_ListForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/Permissions_ListForResource.json
deleted file mode 100644
index 49a72fe4ba69..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/Permissions_ListForResource.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "resourceGroupName": "testrg",
- "resourceProviderNamespace": "Microsoft.DocumentDb",
- "resourceType": "databaseAccounts",
- "resourceName": "test-db-account",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "actions": [
- "*"
- ],
- "notActions": [
- "Microsoft.Authorization/*/Delete",
- "Microsoft.Authorization/*/Write"
- ],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/Permissions_ListForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/Permissions_ListForResourceGroup.json
deleted file mode 100644
index 2bde7f241927..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/Permissions_ListForResourceGroup.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "resourceGroupName": "testrg",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "actions": [
- "*"
- ],
- "notActions": [
- "Microsoft.Authorization/*/Delete",
- "Microsoft.Authorization/*/Write"
- ],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/Permissions_ListForSubscription.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/Permissions_ListForSubscription.json
deleted file mode 100644
index 25a484325417..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/Permissions_ListForSubscription.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "actions": [
- "*"
- ],
- "notActions": [
- "Microsoft.Authorization/*/Delete",
- "Microsoft.Authorization/*/Write"
- ],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/ProviderOperations_List.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/ProviderOperations_List.json
deleted file mode 100644
index 4ef73e990125..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/ProviderOperations_List.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "id",
- "name": "name",
- "type": "type",
- "displayName": "displayName",
- "resourceTypes": [
- {
- "name": "name",
- "displayName": "name",
- "operations": []
- }
- ],
- "operations": []
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/ProviderOperations_ListForRP.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/ProviderOperations_ListForRP.json
deleted file mode 100644
index 378e116df681..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/ProviderOperations_ListForRP.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "resourceProviderNamespace": "Microsoft.DocumentDb",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "id": "id",
- "name": "name",
- "type": "type",
- "displayName": "displayName",
- "resourceTypes": [
- {
- "name": "name",
- "displayName": "name",
- "operations": []
- }
- ],
- "operations": []
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateById.json
deleted file mode 100644
index d5d3a716ff37..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateById.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "parameters": {
- "roleDefinitionId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "api-version": "2020-03-01-preview",
- "roleDefinition": {
- "properties": {
- "roleName": "Test Role",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- }
- }
- },
- "responses": {
- "201": {
- "body": {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateForResource.json
deleted file mode 100644
index a8cbe4db9fb1..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateForResource.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
- "roleDefinitionName": "05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "api-version": "2020-03-01-preview",
- "roleDefinition": {
- "properties": {
- "roleName": "Test Role",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- }
- }
- },
- "responses": {
- "201": {
- "body": {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateForResourceGroup.json
deleted file mode 100644
index 5e700df34233..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateForResourceGroup.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
- "roleDefinitionName": "05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "api-version": "2020-03-01-preview",
- "roleDefinition": {
- "properties": {
- "roleName": "Test Role",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- }
- }
- },
- "responses": {
- "201": {
- "body": {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateForSubscription.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateForSubscription.json
deleted file mode 100644
index 14b28af8d743..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_CreateForSubscription.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "roleDefinitionName": "05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "api-version": "2020-03-01-preview",
- "roleDefinition": {
- "properties": {
- "roleName": "Test Role",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- }
- }
- },
- "responses": {
- "201": {
- "body": {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_Delete.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_Delete.json
deleted file mode 100644
index 633061f8407a..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_Delete.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "roleDefinitionName": "05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- },
- "204": {}
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_DeleteById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_DeleteById.json
deleted file mode 100644
index f397a327caee..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_DeleteById.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "parameters": {
- "roleDefinitionId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- },
- "204": {}
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_Get.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_Get.json
deleted file mode 100644
index 6a5428fcc555..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_Get.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "roleDefinitionName": "05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_GetById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_GetById.json
deleted file mode 100644
index 3e607dbbd680..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_GetById.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parameters": {
- "roleDefinitionId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForResource.json
deleted file mode 100644
index 8cbfce4e394d..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForResource.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "resourceGroupName": "testrg",
- "resourceProviderNamespace": "Microsoft.DocumentDb",
- "resourceType": "databaseAccounts",
- "resourceName": "test-db-account",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForResourceGroup.json
deleted file mode 100644
index f407a566c75c..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForResourceGroup.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "parameters": {
- "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "resourceGroupName": "testrg",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForScope.json
deleted file mode 100644
index 27678f0f33ee..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForScope.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForSubscription.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForSubscription.json
deleted file mode 100644
index 7caa4c2a0576..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-03-01-preview/examples/RoleDefinitions_ListForSubscription.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
- "api-version": "2020-03-01-preview"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "roleName": "Test Role",
- "type": "customRole",
- "description": "Custom role to read Network and Storage services",
- "assignableScopes": [
- "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
- ],
- "permissions": [
- {
- "actions": [
- "Microsoft.Storage/*/read",
- "Microsoft.Network/*/read"
- ],
- "notActions": [],
- "dataActions": [],
- "notDataActions": []
- }
- ]
- },
- "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/05021abc-b46c-4ee8-b403-c7535f1bf1a5",
- "type": "Microsoft.Authorization/roleDefinitions",
- "name": "05021abc-b46c-4ee8-b403-c7535f1bf1a5"
- }
- ]
- }
- }
- }
-}
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 07214ae149cf..f887263b7292 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
@@ -252,13 +252,6 @@
"$ref": "#/definitions/RoleAssignment"
}
},
- "500": {
- "x-ms-error-response": true,
- "description": "Error.",
- "schema": {
- "$ref": "#/definitions/CustomErrorResponse"
- }
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -397,13 +390,6 @@
"$ref": "#/definitions/RoleAssignment"
}
},
- "500": {
- "x-ms-error-response": true,
- "description": "Error.",
- "schema": {
- "$ref": "#/definitions/CustomErrorResponse"
- }
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -558,15 +544,6 @@
}
},
"definitions": {
- "CustomErrorResponse": {
- "properties": {
- "message": {
- "type": "string",
- "description": "Description of the error."
- }
- },
- "description": "Descriptive error response."
- },
"RoleAssignmentFilter": {
"properties": {
"principalId": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json
index cd628b536a42..c87cfe4307e7 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json
@@ -32,11 +32,6 @@
"type": "Microsoft.Authorization/roleAssignments",
"name": "roleassignmentId"
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json
index 7e84f0089ef7..965fb76e36b5 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json
@@ -32,11 +32,6 @@
"type": "Microsoft.Authorization/roleAssignments",
"name": "roleassignmentId"
}
- },
- "500": {
- "body": {
- "message": "Something went wrong."
- }
}
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json
new file mode 100644
index 000000000000..b3782ecaf2e1
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json
@@ -0,0 +1,775 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AuthorizationManagementClient",
+ "version": "2020-08-01-preview",
+ "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role assignments. A role assignment grants access to Azure Active Directory users."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForSubscription",
+ "description": "List all role assignments that apply to a subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List role assignments for subscription": {
+ "$ref": "./examples/RoleAssignments_ListForSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForResourceGroup",
+ "description": "List all role assignments that apply to a resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List role assignments for resource group": {
+ "$ref": "./examples/RoleAssignments_ListForResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForResource",
+ "description": "List all role assignments that apply to a resource.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common-types.json#/parameters/ResourceProviderNamespaceParameter"
+ },
+ {
+ "$ref": "./common-types.json#/parameters/ResourceTypeParameter"
+ },
+ {
+ "$ref": "./common-types.json#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List role assignments for a resource": {
+ "$ref": "./examples/RoleAssignments_ListForResource.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Get",
+ "description": "Get a role assignment by scope and name.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get role assignment by scope and name": {
+ "$ref": "./examples/RoleAssignments_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Create",
+ "description": "Create or update a role assignment by scope and name.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentCreateParameters"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create role assignment for subscription": {
+ "$ref": "./examples/RoleAssignments_CreateForSubscription.json"
+ },
+ "Create role assignment for resource group": {
+ "$ref": "./examples/RoleAssignments_CreateForResourceGroup.json"
+ },
+ "Create role assignment for resource": {
+ "$ref": "./examples/RoleAssignments_CreateForResource.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Delete",
+ "description": "Delete a role assignment by scope and name.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the deleted role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "204": {
+ "description": "Role assignment was already deleted or does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete role assignment": {
+ "$ref": "./examples/RoleAssignments_Delete.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}/validate": {
+ "post": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Validate",
+ "description": "Validate a role assignment create or update operation by scope and name.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentCreateParameters"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns whether or not validation was successful.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate a role assignment create or update operation with failed validation": {
+ "$ref": "./examples/RoleAssignments_ValidateInvalid.json"
+ },
+ "Validate a role assignment create or update operation with successful validation": {
+ "$ref": "./examples/RoleAssignments_ValidateValid.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForScope",
+ "description": "List all role assignments that apply to a scope.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentFilterParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "List role assignments for scope": {
+ "$ref": "./examples/RoleAssignments_ListForScope.json"
+ }
+ }
+ }
+ },
+ "/{roleAssignmentId}": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_GetById",
+ "description": "Get a role assignment by ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/RoleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get role assignment by ID": {
+ "$ref": "./examples/RoleAssignments_GetById.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_CreateById",
+ "description": "Create or update a role assignment by ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/RoleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentCreateParameters"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update role assignment by ID": {
+ "$ref": "./examples/RoleAssignments_CreateById.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_DeleteById",
+ "description": "Delete a role assignment by ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/RoleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the deleted role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "204": {
+ "description": "Role assignment already deleted or does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete role assignment by ID": {
+ "$ref": "./examples/RoleAssignments_DeleteById.json"
+ }
+ }
+ }
+ },
+ "/{roleAssignmentId}/validate": {
+ "post": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ValidateById",
+ "description": "Validate a role assignment create or update operation by ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/RoleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentCreateParameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate a role assignment create or update operation by ID with failed validation": {
+ "$ref": "./examples/RoleAssignments_ValidateByIdInvalid.json"
+ },
+ "Validate a role assignment create or update operation by ID with successful validation": {
+ "$ref": "./examples/RoleAssignments_ValidateByIdValid.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ValidationResponseErrorInfo": {
+ "description": "Failed validation result details",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Error code indicating why validation failed"
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Message indicating why validation failed"
+ }
+ }
+ },
+ "ValidationResponse": {
+ "description": "Validation response",
+ "properties": {
+ "isValid": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Whether or not validation succeeded"
+ },
+ "errorInfo": {
+ "description": "Failed validation result details",
+ "$ref": "#/definitions/ValidationResponseErrorInfo"
+ }
+ }
+ },
+ "RoleAssignmentFilter": {
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "Returns role assignment of the specific principal."
+ }
+ },
+ "description": "Role Assignments filter"
+ },
+ "RoleAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoleAssignment"
+ },
+ "description": "Role assignment list."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "Role assignment list operation result."
+ },
+ "RoleAssignmentProperties": {
+ "properties": {
+ "scope": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The role assignment scope."
+ },
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The role definition ID."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The principal ID."
+ },
+ "principalType": {
+ "type": "string",
+ "description": "The principal type of the assigned principal ID.",
+ "enum": [
+ "User",
+ "Group",
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone"
+ ],
+ "default": "User",
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of role assignment"
+ },
+ "condition": {
+ "type": "string",
+ "description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'"
+ },
+ "conditionVersion": {
+ "type": "string",
+ "description": "Version of the condition. Currently accepted value is '2.0'"
+ },
+ "createdOn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Time it was created",
+ "format": "date-time"
+ },
+ "updatedOn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Time it was updated",
+ "format": "date-time"
+ },
+ "createdBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the user who created the assignment"
+ },
+ "updatedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the user who updated the assignment"
+ },
+ "delegatedManagedIdentityResourceId": {
+ "type": "string",
+ "description": "Id of the delegated managed identity resource"
+ }
+ },
+ "required": [
+ "roleDefinitionId",
+ "principalId"
+ ],
+ "description": "Role assignment properties."
+ },
+ "RoleAssignment": {
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment ID."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleAssignmentProperties",
+ "description": "Role assignment properties."
+ }
+ },
+ "description": "Role Assignments"
+ },
+ "RoleAssignmentCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleAssignmentProperties",
+ "description": "Role assignment properties."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Role assignment create parameters."
+ }
+ },
+ "parameters": {
+ "RoleAssignmentFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "RoleAssignmentNameParameter": {
+ "name": "roleAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role assignment. It can be any valid GUID.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "RoleAssignmentIdParameter": {
+ "name": "roleAssignmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the role assignment including scope, resource name, and resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "RoleAssignmentCreateParameters": {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentCreateParameters"
+ },
+ "description": "Parameters for the role assignment.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/common-types.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/common-types.json
new file mode 100644
index 000000000000..03896a5f9da2
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/common-types.json
@@ -0,0 +1,81 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-08-01-preview",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "Permission": {
+ "properties": {
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed actions."
+ },
+ "notActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Denied actions."
+ },
+ "dataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed Data actions."
+ },
+ "notDataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Denied Data actions."
+ }
+ },
+ "description": "Role definition permissions."
+ }
+ },
+ "parameters": {
+ "ResourceProviderNamespaceParameter": {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type name. For example the type name of a web app is 'sites' (from Microsoft.Web/sites).",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource name.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "ScopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the operation or resource. Valid scopes are: subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateById.json
new file mode 100644
index 000000000000..db70d29fde30
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateById.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-08-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateForResource.json
new file mode 100644
index 000000000000..c14a6a74ad1a
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateForResource.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-08-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateForResourceGroup.json
new file mode 100644
index 000000000000..1c73b97300de
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateForResourceGroup.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-08-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateForSubscription.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateForSubscription.json
new file mode 100644
index 000000000000..92e2f9ea5c3d
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_CreateForSubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-08-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_Delete.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_Delete.json
new file mode 100644
index 000000000000..17767c7232e0
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_Delete.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_DeleteById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_DeleteById.json
new file mode 100644
index 000000000000..f7037896bdb7
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_DeleteById.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_Get.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_Get.json
new file mode 100644
index 000000000000..b3a3b077bf5c
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_GetById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_GetById.json
new file mode 100644
index 000000000000..f78e8948ca60
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_GetById.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForResource.json
new file mode 100644
index 000000000000..5479dcaacbee
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForResource.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "resourceGroupName": "testrg",
+ "resourceProviderNamespace": "Microsoft.DocumentDb",
+ "resourceType": "databaseAccounts",
+ "resourceName": "test-db-account",
+ "api-version": "2020-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ },
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleAssignments/96786e4b-dede-4c2e-8736-8ab911987f08",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "96786e4b-dede-4c2e-8736-8ab911987f08"
+ },
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForResourceGroup.json
new file mode 100644
index 000000000000..5bb41e369791
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForResourceGroup.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ },
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleAssignments/96786e4b-dede-4c2e-8736-8ab911987f08",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "96786e4b-dede-4c2e-8736-8ab911987f08"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForScope.json
new file mode 100644
index 000000000000..59fffd4355ba
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForScope.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "api-version": "2020-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForSubscription.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForSubscription.json
new file mode 100644
index 000000000000..a6cde20bdccd
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ListForSubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "api-version": "2020-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json
new file mode 100644
index 000000000000..ad6912ac1313
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-08-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": false,
+ "errorInfo": {
+ "code": "InvalidRoleDefinitionId",
+ "message": "The specified role definition with ID '0b5fe924-9a61-425c-96af-cfe6e287ca2d' does not exist."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateByIdValid.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateByIdValid.json
new file mode 100644
index 000000000000..b76e5990c2c3
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateByIdValid.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-08-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": true
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateInvalid.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateInvalid.json
new file mode 100644
index 000000000000..3479106a8dae
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateInvalid.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-08-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": false,
+ "errorInfo": {
+ "code": "InvalidRoleDefinitionId",
+ "message": "The specified role definition with ID '0b5fe924-9a61-425c-96af-cfe6e287ca2d' does not exist."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateValid.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateValid.json
new file mode 100644
index 000000000000..5893676e1f15
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/examples/RoleAssignments_ValidateValid.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-08-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": true
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/EligibleChildResources.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/EligibleChildResources.json
new file mode 100644
index 000000000000..a2d955973b7d
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/EligibleChildResources.json
@@ -0,0 +1,159 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AuthorizationManagementClient",
+ "version": "2020-10-01-preview",
+ "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role assignments. A role assignment grants access to Azure Active Directory users."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/{scope}/providers/Microsoft.Authorization/eligibleChildResources": {
+ "get": {
+ "tags": [
+ "eligibleChildResources"
+ ],
+ "operationId": "EligibleChildResources_Get",
+ "description": "Get the child resources of a resource on which user has eligible access",
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role management policy.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only resource of type = 'Subscription'. Use $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = 'Subscription' or 'ResourceGroup'"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role management policy.",
+ "schema": {
+ "$ref": "#/definitions/EligibleChildResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetEligibleChildResourcesByScope": {
+ "$ref": "./examples/GetEligibleChildResourcesByScope.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "EligibleChildResourcesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EligibleChildResource"
+ },
+ "description": "Eligible child resource list."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "Eligible child resources list operation result."
+ },
+ "EligibleChildResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource scope Id."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type."
+ }
+ },
+ "description": "Eligible child resource"
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ }
+ },
+ "description": "An error response from the service."
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation."
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentSchedule.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentSchedule.json
index ab1612d08c1c..7e0a694c29fe 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentSchedule.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentSchedule.json
@@ -173,7 +173,15 @@
"enum": [
"User",
"Group",
- "ServicePrincipal"
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone",
+ "Device"
],
"x-ms-enum": {
"name": "PrincipalType",
@@ -272,6 +280,11 @@
"type": "string",
"format": "date-time",
"description": "DateTime when role assignment schedule was modified"
+ },
+ "expandedProperties": {
+ "type": "object",
+ "description": "Additional properties of principal, scope and role definition",
+ "$ref": "#/definitions/ExpandedProperties"
}
},
"description": "Role assignment schedule properties with scope."
@@ -339,6 +352,68 @@
}
},
"description": "An error response from the service."
+ },
+ "ExpandedProperties": {
+ "properties": {
+ "scope": {
+ "type": "object",
+ "description": "Details of the resource scope",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Scope id of the resource"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the resource"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource"
+ }
+ }
+ },
+ "roleDefinition": {
+ "type": "object",
+ "description": "Details of role definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the role definition"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the role definition"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the role definition"
+ }
+ }
+ },
+ "principal": {
+ "type": "object",
+ "description": "Details of the principal",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the principal"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the principal"
+ },
+ "email": {
+ "type": "string",
+ "description": "Email id of the principal"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the principal"
+ }
+ }
+ }
+ }
}
},
"parameters": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleInstance.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleInstance.json
index 7e56155739ae..d778f0c65e76 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleInstance.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleInstance.json
@@ -177,7 +177,15 @@
"enum": [
"User",
"Group",
- "ServicePrincipal"
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone",
+ "Device"
],
"x-ms-enum": {
"name": "PrincipalType",
@@ -279,6 +287,11 @@
"type": "string",
"format": "date-time",
"description": "DateTime when role assignment schedule was created"
+ },
+ "expandedProperties": {
+ "type": "object",
+ "description": "Additional properties of principal, scope and role definition",
+ "$ref": "#/definitions/ExpandedProperties"
}
},
"description": "Role assignment schedule properties with scope."
@@ -346,6 +359,68 @@
}
},
"description": "An error response from the service."
+ },
+ "ExpandedProperties": {
+ "properties": {
+ "scope": {
+ "type": "object",
+ "description": "Details of the resource scope",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Scope id of the resource"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the resource"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource"
+ }
+ }
+ },
+ "roleDefinition": {
+ "type": "object",
+ "description": "Details of role definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the role definition"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the role definition"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the role definition"
+ }
+ }
+ },
+ "principal": {
+ "type": "object",
+ "description": "Details of the principal",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the principal"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the principal"
+ },
+ "email": {
+ "type": "string",
+ "description": "Email id of the principal"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the principal"
+ }
+ }
+ }
+ }
}
},
"parameters": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json
index 16ef08399dd1..0c18a43bcdff 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json
@@ -47,7 +47,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The scope of the role assignment schedule request to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.",
+ "description": "The scope of the role assignment schedule request to create. The scope can be any REST resource instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.",
"x-ms-skip-url-encoding": true
},
{
@@ -279,7 +279,15 @@
"enum": [
"User",
"Group",
- "ServicePrincipal"
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone",
+ "Device"
],
"x-ms-enum": {
"name": "PrincipalType",
@@ -427,6 +435,12 @@
"type": "string",
"readOnly": true,
"description": "Id of the user who created this request"
+ },
+ "expandedProperties": {
+ "type": "object",
+ "readOnly": true,
+ "description": "Additional properties of principal, scope and role definition",
+ "$ref": "#/definitions/ExpandedProperties"
}
},
"required": [
@@ -499,6 +513,68 @@
}
},
"description": "An error response from the service."
+ },
+ "ExpandedProperties": {
+ "properties": {
+ "scope": {
+ "type": "object",
+ "description": "Details of the resource scope",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Scope id of the resource"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the resource"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource"
+ }
+ }
+ },
+ "roleDefinition": {
+ "type": "object",
+ "description": "Details of role definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the role definition"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the role definition"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the role definition"
+ }
+ }
+ },
+ "principal": {
+ "type": "object",
+ "description": "Details of the principal",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the principal"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the principal"
+ },
+ "email": {
+ "type": "string",
+ "description": "Email id of the principal"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the principal"
+ }
+ }
+ }
+ }
}
},
"parameters": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilitySchedule.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilitySchedule.json
index aae28e8195be..d3d3bbb7e834 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilitySchedule.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilitySchedule.json
@@ -173,7 +173,15 @@
"enum": [
"User",
"Group",
- "ServicePrincipal"
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone",
+ "Device"
],
"x-ms-enum": {
"name": "PrincipalType",
@@ -256,6 +264,11 @@
"type": "string",
"format": "date-time",
"description": "DateTime when role eligibility schedule was modified"
+ },
+ "expandedProperties": {
+ "type": "object",
+ "description": "Additional properties of principal, scope and role definition",
+ "$ref": "#/definitions/ExpandedProperties"
}
},
"description": "Role eligibility schedule properties with scope."
@@ -323,6 +336,68 @@
}
},
"description": "An error response from the service."
+ },
+ "ExpandedProperties": {
+ "properties": {
+ "scope": {
+ "type": "object",
+ "description": "Details of the resource scope",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Scope id of the resource"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the resource"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource"
+ }
+ }
+ },
+ "roleDefinition": {
+ "type": "object",
+ "description": "Details of role definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the role definition"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the role definition"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the role definition"
+ }
+ }
+ },
+ "principal": {
+ "type": "object",
+ "description": "Details of the principal",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the principal"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the principal"
+ },
+ "email": {
+ "type": "string",
+ "description": "Email id of the principal"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the principal"
+ }
+ }
+ }
+ }
}
},
"parameters": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleInstance.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleInstance.json
index aca676b790af..30504594f0bd 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleInstance.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleInstance.json
@@ -177,7 +177,15 @@
"enum": [
"User",
"Group",
- "ServicePrincipal"
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone",
+ "Device"
],
"x-ms-enum": {
"name": "PrincipalType",
@@ -255,6 +263,11 @@
"type": "string",
"format": "date-time",
"description": "DateTime when role eligibility schedule was created"
+ },
+ "expandedProperties": {
+ "type": "object",
+ "description": "Additional properties of principal, scope and role definition",
+ "$ref": "#/definitions/ExpandedProperties"
}
},
"description": "Role eligibility schedule properties with scope."
@@ -322,6 +335,68 @@
}
},
"description": "An error response from the service."
+ },
+ "ExpandedProperties": {
+ "properties": {
+ "scope": {
+ "type": "object",
+ "description": "Details of the resource scope",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Scope id of the resource"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the resource"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource"
+ }
+ }
+ },
+ "roleDefinition": {
+ "type": "object",
+ "description": "Details of role definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the role definition"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the role definition"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the role definition"
+ }
+ }
+ },
+ "principal": {
+ "type": "object",
+ "description": "Details of the principal",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the principal"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the principal"
+ },
+ "email": {
+ "type": "string",
+ "description": "Email id of the principal"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the principal"
+ }
+ }
+ }
+ }
}
},
"parameters": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleRequest.json
index 9957d749ffd0..1ed4bb81ed6e 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleRequest.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleRequest.json
@@ -47,7 +47,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The scope of the role eligibility schedule request to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.",
+ "description": "The scope of the role eligibility schedule request to create. The scope can be any REST resource instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.",
"x-ms-skip-url-encoding": true
},
{
@@ -279,7 +279,15 @@
"enum": [
"User",
"Group",
- "ServicePrincipal"
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone",
+ "Device"
],
"x-ms-enum": {
"name": "PrincipalType",
@@ -423,6 +431,12 @@
"type": "string",
"readOnly": true,
"description": "Id of the user who created this request"
+ },
+ "expandedProperties": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Additional properties of principal, scope and role definition",
+ "$ref": "#/definitions/ExpandedProperties"
}
},
"required": [
@@ -495,6 +509,68 @@
}
},
"description": "An error response from the service."
+ },
+ "ExpandedProperties": {
+ "properties": {
+ "scope": {
+ "type": "object",
+ "description": "Details of the resource scope",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Scope id of the resource"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the resource"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource"
+ }
+ }
+ },
+ "roleDefinition": {
+ "type": "object",
+ "description": "Details of role definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the role definition"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the role definition"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the role definition"
+ }
+ }
+ },
+ "principal": {
+ "type": "object",
+ "description": "Details of the principal",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the principal"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the principal"
+ },
+ "email": {
+ "type": "string",
+ "description": "Email id of the principal"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the principal"
+ }
+ }
+ }
+ }
}
},
"parameters": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json
index 0ca289498323..32c1be6132fe 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json
@@ -81,12 +81,12 @@
}
}
},
- "put": {
+ "patch": {
"tags": [
"roleManagementPolicies"
],
"operationId": "RoleManagementPolicies_Update",
- "description": "Update or create a role management policy",
+ "description": "Update a role management policy",
"parameters": [
{
"name": "scope",
@@ -117,8 +117,8 @@
}
],
"responses": {
- "201": {
- "description": "Created - Returns the created or updated policy.",
+ "200": {
+ "description": "Ok - Returns the updated policy.",
"schema": {
"$ref": "#/definitions/RoleManagementPolicy"
}
@@ -131,8 +131,11 @@
}
},
"x-ms-examples": {
- "PutRoleManagementPolicy": {
- "$ref": "./examples/PutRoleManagementPolicy.json"
+ "PatchRoleManagementPolicy": {
+ "$ref": "./examples/PatchRoleManagementPolicy.json"
+ },
+ "PatchPartialRoleManagementPolicy": {
+ "$ref": "./examples/PatchPartialRoleManagementPolicy.json"
}
}
},
@@ -247,11 +250,14 @@
"type": "boolean",
"description": "The role management policy is default policy."
},
- "lastUpdatedDateTime": {
+ "lastModifiedBy": {
+ "$ref": "#/definitions/Principal"
+ },
+ "lastModifiedDateTime": {
"type": "string",
"readOnly": true,
"format": "date-time",
- "description": "The last updated date time."
+ "description": "The last modified date time."
},
"rules": {
"type": "array",
@@ -267,6 +273,12 @@
},
"readOnly": true,
"description": "The readonly computed rule applied to the policy."
+ },
+ "policyProperties": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Additional properties of scope",
+ "$ref": "#/definitions/PolicyProperties"
}
},
"description": "Role management policy properties with scope."
@@ -343,18 +355,6 @@
],
"type": "object",
"properties": {
- "id": {
- "type": "string",
- "description": "The id of the rule."
- },
- "ruleType": {
- "description": "The type of rule",
- "$ref": "#/definitions/RoleManagementPolicyRuleType"
- },
- "target": {
- "$ref": "#/definitions/RoleManagementPolicyRuleTarget",
- "description": "The target of the current rule."
- },
"setting": {
"$ref": "#/definitions/ApprovalSettings",
"description": "The approval setting"
@@ -441,44 +441,23 @@
"UserSet": {
"description": "The detail of a user.",
"type": "object",
- "required": [
- "userType"
- ],
- "discriminator": "userType",
"properties": {
"userType": {
"type": "string",
- "description": "The object id of the user."
+ "description": "The type of user.",
+ "enum": [
+ "User",
+ "Group"
+ ],
+ "x-ms-enum": {
+ "name": "UserType",
+ "modelAsString": true
+ }
},
"isBackup": {
"type": "boolean",
"description": "The value indicating whether the user is a backup fallback approver"
- }
- }
- },
- "SingleUser": {
- "description": "The detail of a user.",
- "allOf": [
- {
- "$ref": "#/definitions/UserSet"
- }
- ],
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "description": "The object id of the user."
},
- "description": {
- "type": "string",
- "description": "The description of the user."
- }
- }
- },
- "GroupMembers": {
- "description": "The detail of a group.",
- "type": "object",
- "properties": {
"id": {
"type": "string",
"description": "The object id of the user."
@@ -486,10 +465,6 @@
"description": {
"type": "string",
"description": "The description of the user."
- },
- "isBackup": {
- "type": "boolean",
- "description": "The value indicating whether the user is a backup fallback approver"
}
}
},
@@ -502,18 +477,6 @@
],
"type": "object",
"properties": {
- "id": {
- "type": "string",
- "description": "The id of the rule."
- },
- "ruleType": {
- "description": "The type of rule",
- "$ref": "#/definitions/RoleManagementPolicyRuleType"
- },
- "target": {
- "$ref": "#/definitions/RoleManagementPolicyRuleTarget",
- "description": "The target of the current rule."
- },
"isEnabled": {
"type": "boolean",
"description": "The value indicating if rule is enabled."
@@ -533,22 +496,20 @@
],
"type": "object",
"properties": {
- "id": {
- "type": "string",
- "description": "The id of the rule."
- },
- "ruleType": {
- "description": "The type of rule",
- "$ref": "#/definitions/RoleManagementPolicyRuleType"
- },
- "target": {
- "$ref": "#/definitions/RoleManagementPolicyRuleTarget",
- "description": "The target of the current rule."
- },
"enabledRules": {
"type": "array",
"items": {
- "type": "string"
+ "type": "string",
+ "description": "The type of enable rules",
+ "enum": [
+ "MultiFactorAuthentication",
+ "Justification",
+ "Ticketing"
+ ],
+ "x-ms-enum": {
+ "name": "EnablementRules",
+ "modelAsString": true
+ }
},
"description": "The list of enabled rules."
}
@@ -563,18 +524,6 @@
],
"type": "object",
"properties": {
- "id": {
- "type": "string",
- "description": "The id of the rule."
- },
- "ruleType": {
- "description": "The type of rule",
- "$ref": "#/definitions/RoleManagementPolicyRuleType"
- },
- "target": {
- "$ref": "#/definitions/RoleManagementPolicyRuleTarget",
- "description": "The target of the current rule."
- },
"isExpirationRequired": {
"type": "boolean",
"description": "The value indicating whether expiration is required."
@@ -594,18 +543,6 @@
],
"type": "object",
"properties": {
- "id": {
- "type": "string",
- "description": "The id of the rule."
- },
- "ruleType": {
- "description": "The type of rule",
- "$ref": "#/definitions/RoleManagementPolicyRuleType"
- },
- "target": {
- "$ref": "#/definitions/RoleManagementPolicyRuleTarget",
- "description": "The target of the current rule."
- },
"notificationType": {
"type": "string",
"description": "The type of notification.",
@@ -621,9 +558,9 @@
"type": "string",
"description": "The notification level.",
"enum": [
- "NONE",
- "CRITICAL",
- "ALL"
+ "None",
+ "Critical",
+ "All"
],
"x-ms-enum": {
"name": "NotificationLevel",
@@ -649,6 +586,10 @@
"type": "string"
},
"description": "The list notification recipients."
+ },
+ "isDefaultRecipientsEnabled": {
+ "type": "boolean",
+ "description": "Its value determine if the notification need to be sent to the recipient type specified in policy rule."
}
}
},
@@ -709,6 +650,52 @@
"modelAsString": true
}
},
+ "PolicyProperties": {
+ "properties": {
+ "scope": {
+ "type": "object",
+ "description": "Details of the resource scope",
+ "readOnly": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Scope id of the resource"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the resource"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource"
+ }
+ }
+ }
+ }
+ },
+ "Principal": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The name of the entity last modified it",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The id of the principal made changes"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The name of the principal made changes"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of principal such as user , group etc"
+ },
+ "email": {
+ "type": "string",
+ "description": "Email of principal"
+ }
+ }
+ },
"CloudError": {
"x-ms-external": true,
"properties": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicyAssignment.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicyAssignment.json
index 9a0fcb86a437..857a3432ec3e 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicyAssignment.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicyAssignment.json
@@ -267,6 +267,12 @@
"policyId": {
"type": "string",
"description": "The policy id role management policy assignment."
+ },
+ "policyAssignmentProperties": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Additional properties of scope, role definition and policy",
+ "$ref": "#/definitions/PolicyAssignmentProperties"
}
},
"description": "Role management policy assignment properties with scope."
@@ -287,6 +293,87 @@
},
"description": "Role management policy assignment list operation result."
},
+ "PolicyAssignmentProperties": {
+ "properties": {
+ "scope": {
+ "type": "object",
+ "description": "Details of the resource scope",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Scope id of the resource"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the resource"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the resource"
+ }
+ }
+ },
+ "roleDefinition": {
+ "type": "object",
+ "description": "Details of role definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the role definition"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the role definition"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the role definition"
+ }
+ }
+ },
+ "policy": {
+ "type": "object",
+ "description": "Details of the policy",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id of the policy"
+ },
+ "lastModifiedBy": {
+ "$ref": "#/definitions/Principal"
+ },
+ "lastModifiedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The last modified date time."
+ }
+ }
+ }
+ }
+ },
+ "Principal": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The name of the entity last modified it",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The id of the principal made changes"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The name of the principal made changes"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of principal such as user , group etc"
+ },
+ "email": {
+ "type": "string",
+ "description": "Email of principal"
+ }
+ }
+ },
"CloudError": {
"x-ms-external": true,
"properties": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/authorization-RoleAssignmentsCalls.json
new file mode 100644
index 000000000000..c723a1e60b81
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/authorization-RoleAssignmentsCalls.json
@@ -0,0 +1,776 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AuthorizationManagementClient",
+ "version": "2020-10-01-preview",
+ "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role assignments. A role assignment grants access to Azure Active Directory users."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForSubscription",
+ "description": "List all role assignments that apply to a subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List role assignments for subscription": {
+ "$ref": "./examples/RoleAssignments_ListForSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForResourceGroup",
+ "description": "List all role assignments that apply to a resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List role assignments for resource group": {
+ "$ref": "./examples/RoleAssignments_ListForResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForResource",
+ "description": "List all role assignments that apply to a resource.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./common-types.json#/parameters/ResourceProviderNamespaceParameter"
+ },
+ {
+ "$ref": "./common-types.json#/parameters/ResourceTypeParameter"
+ },
+ {
+ "$ref": "./common-types.json#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List role assignments for a resource": {
+ "$ref": "./examples/RoleAssignments_ListForResource.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Get",
+ "description": "Get a role assignment by scope and name.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get role assignment by scope and name": {
+ "$ref": "./examples/RoleAssignments_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Create",
+ "description": "Create or update a role assignment by scope and name.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentCreateParameters"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create role assignment for subscription": {
+ "$ref": "./examples/RoleAssignments_CreateForSubscription.json"
+ },
+ "Create role assignment for resource group": {
+ "$ref": "./examples/RoleAssignments_CreateForResourceGroup.json"
+ },
+ "Create role assignment for resource": {
+ "$ref": "./examples/RoleAssignments_CreateForResource.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Delete",
+ "description": "Delete a role assignment by scope and name.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the deleted role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "204": {
+ "description": "Role assignment was already deleted or does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete role assignment": {
+ "$ref": "./examples/RoleAssignments_Delete.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}/validate": {
+ "post": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Validate",
+ "description": "Validate a role assignment create or update operation by scope and name.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentCreateParameters"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns whether or not validation was successful.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate a role assignment create or update operation with failed validation": {
+ "$ref": "./examples/RoleAssignments_ValidateInvalid.json"
+ },
+ "Validate a role assignment create or update operation with successful validation": {
+ "$ref": "./examples/RoleAssignments_ValidateValid.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForScope",
+ "description": "List all role assignments that apply to a scope.",
+ "parameters": [
+ {
+ "$ref": "./common-types.json#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentFilterParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "List role assignments for scope": {
+ "$ref": "./examples/RoleAssignments_ListForScope.json"
+ }
+ }
+ }
+ },
+ "/{roleAssignmentId}": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_GetById",
+ "description": "Get a role assignment by ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/RoleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get role assignment by ID": {
+ "$ref": "./examples/RoleAssignments_GetById.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_CreateById",
+ "description": "Create or update a role assignment by ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/RoleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentCreateParameters"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update role assignment by ID": {
+ "$ref": "./examples/RoleAssignments_CreateById.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_DeleteById",
+ "description": "Delete a role assignment by ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/RoleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the deleted role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ },
+ "204": {
+ "description": "Role assignment already deleted or does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete role assignment by ID": {
+ "$ref": "./examples/RoleAssignments_DeleteById.json"
+ }
+ }
+ }
+ },
+ "/{roleAssignmentId}/validate": {
+ "post": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ValidateById",
+ "description": "Validate a role assignment create or update operation by ID.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/RoleAssignmentIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RoleAssignmentCreateParameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate a role assignment create or update operation by ID with failed validation": {
+ "$ref": "./examples/RoleAssignments_ValidateByIdInvalid.json"
+ },
+ "Validate a role assignment create or update operation by ID with successful validation": {
+ "$ref": "./examples/RoleAssignments_ValidateByIdValid.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ValidationResponseErrorInfo": {
+ "description": "Failed validation result details",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Error code indicating why validation failed"
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Message indicating why validation failed"
+ }
+ }
+ },
+ "ValidationResponse": {
+ "description": "Validation response",
+ "properties": {
+ "isValid": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Whether or not validation succeeded"
+ },
+ "errorInfo": {
+ "description": "Failed validation result details",
+ "$ref": "#/definitions/ValidationResponseErrorInfo"
+ }
+ }
+ },
+ "RoleAssignmentFilter": {
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "Returns role assignment of the specific principal."
+ }
+ },
+ "description": "Role Assignments filter"
+ },
+ "RoleAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoleAssignment"
+ },
+ "description": "Role assignment list."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "Role assignment list operation result."
+ },
+ "RoleAssignmentProperties": {
+ "properties": {
+ "scope": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The role assignment scope."
+ },
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The role definition ID."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The principal ID."
+ },
+ "principalType": {
+ "type": "string",
+ "description": "The principal type of the assigned principal ID.",
+ "enum": [
+ "User",
+ "Group",
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone",
+ "Device"
+ ],
+ "default": "User",
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of role assignment"
+ },
+ "condition": {
+ "type": "string",
+ "description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'"
+ },
+ "conditionVersion": {
+ "type": "string",
+ "description": "Version of the condition. Currently accepted value is '2.0'"
+ },
+ "createdOn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Time it was created",
+ "format": "date-time"
+ },
+ "updatedOn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Time it was updated",
+ "format": "date-time"
+ },
+ "createdBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the user who created the assignment"
+ },
+ "updatedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the user who updated the assignment"
+ },
+ "delegatedManagedIdentityResourceId": {
+ "type": "string",
+ "description": "Id of the delegated managed identity resource"
+ }
+ },
+ "required": [
+ "roleDefinitionId",
+ "principalId"
+ ],
+ "description": "Role assignment properties."
+ },
+ "RoleAssignment": {
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment ID."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleAssignmentProperties",
+ "description": "Role assignment properties."
+ }
+ },
+ "description": "Role Assignments"
+ },
+ "RoleAssignmentCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleAssignmentProperties",
+ "description": "Role assignment properties."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Role assignment create parameters."
+ }
+ },
+ "parameters": {
+ "RoleAssignmentFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "RoleAssignmentNameParameter": {
+ "name": "roleAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role assignment. It can be any valid GUID.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "RoleAssignmentIdParameter": {
+ "name": "roleAssignmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the role assignment including scope, resource name, and resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "RoleAssignmentCreateParameters": {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentCreateParameters"
+ },
+ "description": "Parameters for the role assignment.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/common-types.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/common-types.json
new file mode 100644
index 000000000000..0b2370e84ffd
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/common-types.json
@@ -0,0 +1,81 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-10-01-preview",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "Permission": {
+ "properties": {
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed actions."
+ },
+ "notActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Denied actions."
+ },
+ "dataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed Data actions."
+ },
+ "notDataActions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Denied Data actions."
+ }
+ },
+ "description": "Role definition permissions."
+ }
+ },
+ "parameters": {
+ "ResourceProviderNamespaceParameter": {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type name. For example the type name of a web app is 'sites' (from Microsoft.Web/sites).",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource name.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "ScopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the operation or resource. Valid scopes are: subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json
index 75c33c124167..12010a0260c3 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleAssignmentScheduleRequestName": "fea7a502-9a96-4806-a26f-eee560e52045",
"api-version": "2020-10-01-preview"
},
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json
index 11e856e11930..81c5d55f7320 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleEligibilityScheduleRequestName": "64caffb6-55c0-4deb-a585-68e948ea1ad6",
"api-version": "2020-10-01-preview"
},
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicy.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicy.json
index 5e4676e0191e..2deccf44affd 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicy.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicy.json
@@ -1,7 +1,7 @@
{
"parameters": {
- "scope": "subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleManagementPolicyName": "d693780f-543d-4aad-a4c8-139ff6a1db8d",
+ "scope": "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleManagementPolicyName": "570c3619-7688-4b34-b290-2b8bb3ccab2a",
"api-version": "2020-10-01-preview"
},
"responses": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicyAssignment.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicyAssignment.json
index b21404439bbe..5b8fd9b70f22 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicyAssignment.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicyAssignment.json
@@ -1,7 +1,7 @@
{
"parameters": {
- "scope": "subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleManagementPolicyAssignmentName": "477f2d04-0fdc-417f-ab1b-d9fff8137134_a37489be-9462-48fb-a3b6-7b9bc2debbad",
+ "scope": "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleManagementPolicyAssignmentName": "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
"api-version": "2020-10-01-preview"
},
"responses": {
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetEligibleChildResourcesByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetEligibleChildResourcesByScope.json
new file mode 100644
index 000000000000..76cb6f443086
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetEligibleChildResourcesByScope.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "api-version": "2020-10-01-preview",
+ "$filter": "resourceType+eq+'resourcegroup'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "RG-1",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/resourceGroups/RG-1",
+ "type": "resourcegroup"
+ },
+ {
+ "name": "RG-2",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/resourceGroups/RG-2",
+ "type": "resourcegroup"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleByName.json
index ba84e89abce6..a71aa12566fe 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleByName.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleAssignmentScheduleName": "c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
"api-version": "2020-10-01-preview"
},
@@ -10,22 +10,40 @@
"properties": {
"linkedRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"assignmentType": "Assigned",
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
"status": "Provisioned",
- "roleAssignmentScheduleRequestId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
+ "roleAssignmentScheduleRequestId": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
"startDateTime": "2020-09-09T21:35:27.91Z",
"endDateTime": "2020-09-10T05:35:17.91Z",
"memberType": "Direct",
"createdOn": "2020-09-09T21:35:27.91Z",
"updatedOn": "2020-09-09T21:35:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentSchedules/c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentSchedules/c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
"type": "Microsoft.Authorization/RoleAssignmentSchedules"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstanceByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstanceByName.json
index 667555a87649..bc7afb86410d 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstanceByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstanceByName.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleAssignmentScheduleInstanceName": "ed9b8180-cef7-4c77-a63c-b8566ecfc412",
"api-version": "2020-10-01-preview"
},
@@ -8,25 +8,43 @@
"200": {
"body": {
"properties": {
- "originRoleAssignmentId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleAssignments/ed9b8180-cef7-4c77-a63c-b8566ecfc412",
+ "originRoleAssignmentId": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleAssignments/ed9b8180-cef7-4c77-a63c-b8566ecfc412",
"linkedRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"linkedRoleEligibilityScheduleInstanceId": "21e4b59a-0499-4fe0-a3c3-43a3055b773a",
"assignmentType": "Assigned",
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
"status": "Accepted",
- "roleAssignmentScheduleId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentSchedules/c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
+ "roleAssignmentScheduleId": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentSchedules/c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
"startDateTime": "2020-09-09T21:35:27.91Z",
"endDateTime": "2020-09-10T05:35:17.91Z",
"memberType": "Direct",
"createdOn": "2020-09-09T21:35:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "ed9b8180-cef7-4c77-a63c-b8566ecfc412",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleInstances/ed9b8180-cef7-4c77-a63c-b8566ecfc412",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleInstances/ed9b8180-cef7-4c77-a63c-b8566ecfc412",
"type": "Microsoft.Authorization/RoleAssignmentScheduleInstances"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstancesByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstancesByScope.json
index 33c9f4a3911d..c43b3cc2d43e 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstancesByScope.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstancesByScope.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"$filter": "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')",
"api-version": "2020-10-01-preview"
},
@@ -14,21 +14,39 @@
"linkedRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"linkedRoleEligibilityScheduleInstanceId": "21e4b59a-0499-4fe0-a3c3-43a3055b773a",
"assignmentType": "Assigned",
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
"status": "Accepted",
- "roleAssignmentScheduleId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentSchedules/c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
+ "roleAssignmentScheduleId": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentSchedules/c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
"startDateTime": "2020-09-09T21:35:27.91Z",
"endDateTime": "2020-09-10T05:35:17.91Z",
"memberType": "Direct",
"createdOn": "2020-09-09T21:35:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "ed9b8180-cef7-4c77-a63c-b8566ecfc412",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleInstances/ed9b8180-cef7-4c77-a63c-b8566ecfc412",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleInstances/ed9b8180-cef7-4c77-a63c-b8566ecfc412",
"type": "Microsoft.Authorization/RoleAssignmentScheduleInstances"
}
]
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json
index 06b9e7f52020..a9f0442b637f 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleAssignmentScheduleRequestName": "fea7a502-9a96-4806-a26f-eee560e52045",
"api-version": "2020-10-01-preview"
},
@@ -10,7 +10,7 @@
"properties": {
"targetRoleAssignmentScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"targetRoleAssignmentScheduleInstanceId": null,
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
@@ -22,7 +22,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "08:00:00"
+ "duration": "PT8H"
}
},
"ticketInfo": {
@@ -33,10 +33,28 @@
"requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"createdOn": "2020-09-09T21:35:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "fea7a502-9a96-4806-a26f-eee560e52045",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
"type": "Microsoft.Authorization/RoleAssignmentScheduleRequests"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json
index 01ee82a099cc..648555c7b6db 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"$filter": "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')",
"api-version": "2020-10-01-preview"
},
@@ -11,7 +11,7 @@
"properties": {
"targetRoleAssignmentScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"targetRoleAssignmentScheduleInstanceId": null,
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
@@ -23,7 +23,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "08:00:00"
+ "duration": "PT8H"
}
},
"ticketInfo": {
@@ -34,10 +34,28 @@
"requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"createdOn": "2020-09-09T21:35:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "fea7a502-9a96-4806-a26f-eee560e52045",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
"type": "Microsoft.Authorization/RoleAssignmentScheduleRequests"
}
]
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentSchedulesByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentSchedulesByScope.json
index b2bf1c53ece3..d2d087f53b23 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentSchedulesByScope.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentSchedulesByScope.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"$filter": "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')",
"api-version": "2020-10-01-preview"
},
@@ -12,22 +12,40 @@
"properties": {
"linkedRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"assignmentType": "Assigned",
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
"status": "Provisioned",
- "roleAssignmentScheduleRequestId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
+ "roleAssignmentScheduleRequestId": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
"startDateTime": "2020-09-09T21:35:27.91Z",
"endDateTime": "2020-09-10T05:35:17.91Z",
"memberType": "Direct",
"createdOn": "2020-09-09T21:35:27.91Z",
"updatedOn": "2020-09-09T21:35:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentSchedules/c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentSchedules/c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
"type": "Microsoft.Authorization/RoleAssignmentSchedules"
}
]
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleByName.json
index 5f7173ab7141..fed3924b122e 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleByName.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleEligibilityScheduleName": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"api-version": "2020-10-01-preview"
},
@@ -8,22 +8,40 @@
"200": {
"body": {
"properties": {
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
"status": "Provisioned",
- "roleEligibilityScheduleRequestId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
+ "roleEligibilityScheduleRequestId": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
"startDateTime": "2020-09-09T21:33:14.557Z",
"endDateTime": "2021-09-09T21:32:28.49Z",
"memberType": "Direct",
"createdOn": "2020-09-09T21:33:06.3Z",
"updatedOn": "2020-09-09T22:27:00.513Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "b1477448-2cc6-4ceb-93b4-54a202a89413",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilitySchedules/b1477448-2cc6-4ceb-93b4-54a202a89413",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilitySchedules/b1477448-2cc6-4ceb-93b4-54a202a89413",
"type": "Microsoft.Authorization/RoleEligibilitySchedules"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstanceByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstanceByName.json
index 1387466daa45..af39532a34d2 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstanceByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstanceByName.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleEligibilityScheduleInstanceName": "21e4b59a-0499-4fe0-a3c3-43a3055b773a",
"api-version": "2020-10-01-preview"
},
@@ -8,21 +8,39 @@
"200": {
"body": {
"properties": {
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
"status": "Provisioned",
- "roleEligibilityScheduleId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilitySchedules/b1477448-2cc6-4ceb-93b4-54a202a89413",
+ "roleEligibilityScheduleId": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilitySchedules/b1477448-2cc6-4ceb-93b4-54a202a89413",
"startDateTime": "2020-09-10T00:32:36.86Z",
"endDateTime": "2021-09-10T00:31:41.477Z",
"memberType": "Direct",
"createdOn": "2020-09-10T00:32:36.86Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "21e4b59a-0499-4fe0-a3c3-43a3055b773a",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleInstances/21e4b59a-0499-4fe0-a3c3-43a3055b773a",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleInstances/21e4b59a-0499-4fe0-a3c3-43a3055b773a",
"type": "Microsoft.Authorization/RoleEligibilityScheduleInstances"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstancesByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstancesByScope.json
index 0250fb66e371..829f0410d347 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstancesByScope.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstancesByScope.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"$filter": "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')",
"api-version": "2020-10-01-preview"
},
@@ -10,21 +10,39 @@
"value": [
{
"properties": {
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
"status": "Provisioned",
- "roleEligibilityScheduleId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilitySchedules/b1477448-2cc6-4ceb-93b4-54a202a89413",
+ "roleEligibilityScheduleId": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilitySchedules/b1477448-2cc6-4ceb-93b4-54a202a89413",
"startDateTime": "2020-09-10T00:32:36.86Z",
"endDateTime": "2021-09-10T00:31:41.477Z",
"memberType": "Direct",
"createdOn": "2020-09-10T00:32:36.86Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "21e4b59a-0499-4fe0-a3c3-43a3055b773a",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleInstances/21e4b59a-0499-4fe0-a3c3-43a3055b773a",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleInstances/21e4b59a-0499-4fe0-a3c3-43a3055b773a",
"type": "Microsoft.Authorization/RoleEligibilityScheduleInstances"
}
]
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json
index 275162593dd2..53f10851ec93 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleEligibilityScheduleRequestName": "64caffb6-55c0-4deb-a585-68e948ea1ad6",
"api-version": "2020-10-01-preview"
},
@@ -10,7 +10,7 @@
"properties": {
"targetRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"targetRoleEligibilityScheduleInstanceId": null,
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
@@ -22,7 +22,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "365.00:00:00"
+ "duration": "P365D"
}
},
"ticketInfo": {
@@ -33,10 +33,28 @@
"requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"createdOn": "2020-09-09T21:32:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "64caffb6-55c0-4deb-a585-68e948ea1ad6",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
"type": "Microsoft.Authorization/RoleEligibilityRequests"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json
index 1a13acd146fc..9bfca5590185 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"$filter": "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')",
"api-version": "2020-10-01-preview"
},
@@ -12,7 +12,7 @@
"properties": {
"targetRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"targetRoleEligibilityScheduleInstanceId": null,
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
@@ -24,7 +24,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "365.00:00:00"
+ "duration": "P365D"
}
},
"ticketInfo": {
@@ -35,10 +35,28 @@
"requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"createdOn": "2020-09-09T21:32:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "64caffb6-55c0-4deb-a585-68e948ea1ad6",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
"type": "Microsoft.Authorization/RoleEligibilityRequests"
}
]
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilitySchedulesByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilitySchedulesByScope.json
index ec5de9b5d207..a635a7f135c5 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilitySchedulesByScope.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilitySchedulesByScope.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"$filter": "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')",
"api-version": "2020-10-01-preview"
},
@@ -10,22 +10,40 @@
"value": [
{
"properties": {
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
"status": "Provisioned",
- "roleEligibilityScheduleRequestId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
+ "roleEligibilityScheduleRequestId": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
"startDateTime": "2020-09-09T21:33:14.557Z",
"endDateTime": "2021-09-09T21:32:28.49Z",
"memberType": "Direct",
"createdOn": "2020-09-09T21:33:06.3Z",
"updatedOn": "2020-09-09T22:27:00.513Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "b1477448-2cc6-4ceb-93b4-54a202a89413",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilitySchedules/b1477448-2cc6-4ceb-93b4-54a202a89413",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilitySchedules/b1477448-2cc6-4ceb-93b4-54a202a89413",
"type": "Microsoft.Authorization/RoleEligibilitySchedules"
}
]
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByName.json
index d8bb04656208..95d0531850d9 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByName.json
@@ -1,19 +1,41 @@
{
"parameters": {
- "scope": "subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleManagementPolicyAssignmentName": "477f2d04-0fdc-417f-ab1b-d9fff8137134_a37489be-9462-48fb-a3b6-7b9bc2debbad",
+ "scope": "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleManagementPolicyAssignmentName": "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
"api-version": "2020-10-01-preview"
},
"responses": {
"200": {
"body": {
"properties": {
- "scope": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/a37489be-9462-48fb-a3b6-7b9bc2debbad",
- "policyId": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicies/477f2d04-0fdc-417f-ab1b-d9fff8137134"
+ "scope": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleDefinitionId": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "policyId": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9",
+ "policyAssignmentProperties": {
+ "scope": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "displayName": "FHIR Data Converter",
+ "type": "BuiltInRole"
+ },
+ "policy": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9",
+ "lastModifiedBy": {
+ "id": null,
+ "displayName": "Admin",
+ "type": null,
+ "email": null
+ },
+ "lastModifiedDateTime": null
+ }
+ }
},
- "name": "477f2d04-0fdc-417f-ab1b-d9fff8137134_a37489be-9462-48fb-a3b6-7b9bc2debbad",
- "id": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicyAssignment/477f2d04-0fdc-417f-ab1b-d9fff8137134_a37489be-9462-48fb-a3b6-7b9bc2debbad",
+ "name": "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "id": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicyAssignment/b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
"type": "Microsoft.Authorization/RoleManagementPolicyAssignment"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByScope.json
index 8c0130ac3231..37f17032cbb3 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByScope.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByScope.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
+ "scope": "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
"api-version": "2020-10-01-preview"
},
"responses": {
@@ -9,12 +9,34 @@
"value": [
{
"properties": {
- "scope": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/a37489be-9462-48fb-a3b6-7b9bc2debbad",
- "policyId": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicies/477f2d04-0fdc-417f-ab1b-d9fff8137134"
+ "scope": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleDefinitionId": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "policyId": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9",
+ "policyAssignmentProperties": {
+ "scope": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "displayName": "FHIR Data Converter",
+ "type": "BuiltInRole"
+ },
+ "policy": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9",
+ "lastModifiedBy": {
+ "id": null,
+ "displayName": "Admin",
+ "type": null,
+ "email": null
+ },
+ "lastModifiedDateTime": null
+ }
+ }
},
- "name": "477f2d04-0fdc-417f-ab1b-d9fff8137134_a37489be-9462-48fb-a3b6-7b9bc2debbad",
- "id": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicyAssignment/477f2d04-0fdc-417f-ab1b-d9fff8137134_a37489be-9462-48fb-a3b6-7b9bc2debbad",
+ "name": "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "id": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicyAssignment/b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
"type": "Microsoft.Authorization/RoleManagementPolicyAssignment"
}
]
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByName.json
index 2790bff70d0c..24eb61daaa85 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByName.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByName.json
@@ -1,28 +1,49 @@
{
"parameters": {
- "scope": "subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleManagementPolicyName": "d693780f-543d-4aad-a4c8-139ff6a1db8d",
+ "scope": "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleManagementPolicyName": "570c3619-7688-4b34-b290-2b8bb3ccab2a",
"api-version": "2020-10-01-preview"
},
"responses": {
"200": {
"body": {
"properties": {
- "scope": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
+ "scope": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
"displayName": null,
"description": null,
"isOrganizationDefault": false,
- "lastUpdatedDateTime": "2020-12-04T18:34:17.153+00:00",
+ "lastModifiedDateTime": "2021-03-17T02:54:27.167+00:00",
+ "lastModifiedBy": {
+ "id": null,
+ "displayName": "Admin",
+ "type": null,
+ "email": null
+ },
"rules": [
{
- "isExpirationRequired": false,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Eligible",
+ "enabledRules": [],
+ "id": "Enablement_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": true,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -33,16 +54,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -53,16 +75,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -73,16 +96,17 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "approver_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -91,29 +115,32 @@
}
},
{
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Eligible",
+ "enabledRules": [
+ "MultiFactorAuthentication",
+ "Justification"
+ ],
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Member",
+ "isExpirationRequired": false,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -124,16 +151,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -144,16 +172,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -164,31 +193,17 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "approver_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -197,105 +212,76 @@
}
},
{
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
+ "setting": {
+ "isApprovalRequired": true,
+ "isApprovalRequiredForExtension": false,
+ "isRequestorJustificationRequired": true,
+ "approvalMode": "SingleStage",
+ "approvalStages": [
+ {
+ "approvalStageTimeOutInDays": 1,
+ "isApproverJustificationRequired": true,
+ "escalationTimeInMinutes": 0,
+ "primaryApprovers": [
+ {
+ "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
+ "description": "amansw_new_group",
+ "isBackup": false,
+ "userType": "Group"
+ },
+ {
+ "id": "2f4913c9-d15b-406a-9946-1d66a28f2690",
+ "description": "amansw_group",
+ "isBackup": false,
+ "userType": "Group"
+ }
+ ],
+ "isEscalationEnabled": false,
+ "escalationApprovers": null
+ }
+ ]
+ },
+ "id": "Approval_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
+ "isEnabled": false,
+ "claimValue": "",
+ "id": "AuthenticationContext_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
+ "enabledRules": [
+ "MultiFactorAuthentication",
+ "Justification",
+ "Ticketing"
],
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Eligible",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isEnabled": false,
- "claimValue": null,
- "id": "AuthenticationContext_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyAuthenticationContextRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -305,13 +291,13 @@
},
{
"isExpirationRequired": true,
- "maximumDuration": "1.00:00:00",
- "id": "Expiration_EndUser_ALL_Member",
+ "maximumDuration": "PT7H",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -322,16 +308,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_enduser_member@test.com"
],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -342,16 +329,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_enduser_member@test.com"
],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -362,62 +350,48 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": true,
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
- },
+ }
+ ],
+ "effectiveRules": [
{
"enabledRules": [],
- "id": "Ticketing_EndUser_ALL_Member",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
- "caller": "EndUser",
+ "caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
- "level": "Assignment",
+ "level": "Eligibility",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- }
- ],
- "effectiveRules": [
- {
- "isExpirationRequired": false,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Eligible",
+ "isExpirationRequired": true,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -428,16 +402,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -448,16 +423,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -468,16 +444,17 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "approver_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -486,29 +463,32 @@
}
},
{
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Eligible",
+ "enabledRules": [
+ "MultiFactorAuthentication",
+ "Justification"
+ ],
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Member",
+ "isExpirationRequired": false,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -519,16 +499,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -539,16 +520,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -559,31 +541,17 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "approver_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -592,105 +560,76 @@
}
},
{
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
+ "setting": {
+ "isApprovalRequired": true,
+ "isApprovalRequiredForExtension": false,
+ "isRequestorJustificationRequired": true,
+ "approvalMode": "SingleStage",
+ "approvalStages": [
+ {
+ "approvalStageTimeOutInDays": 1,
+ "isApproverJustificationRequired": true,
+ "escalationTimeInMinutes": 0,
+ "primaryApprovers": [
+ {
+ "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
+ "description": "amansw_new_group",
+ "isBackup": false,
+ "userType": "Group"
+ },
+ {
+ "id": "2f4913c9-d15b-406a-9946-1d66a28f2690",
+ "description": "amansw_group",
+ "isBackup": false,
+ "userType": "Group"
+ }
+ ],
+ "isEscalationEnabled": false,
+ "escalationApprovers": null
+ }
+ ]
+ },
+ "id": "Approval_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
+ "isEnabled": false,
+ "claimValue": "",
+ "id": "AuthenticationContext_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
+ "enabledRules": [
+ "MultiFactorAuthentication",
+ "Justification",
+ "Ticketing"
],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Eligible",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isEnabled": false,
- "claimValue": null,
- "id": "AuthenticationContext_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyAuthenticationContextRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -700,13 +639,13 @@
},
{
"isExpirationRequired": true,
- "maximumDuration": "1.00:00:00",
- "id": "Expiration_EndUser_ALL_Member",
+ "maximumDuration": "PT7H",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -717,16 +656,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_enduser_member@test.com"
],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -737,16 +677,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_enduser_member@test.com"
],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -757,44 +698,15 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": true,
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "Ticketing_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -802,10 +714,17 @@
"enforcedSettings": null
}
}
- ]
+ ],
+ "policyProperties": {
+ "scope": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ }
+ }
},
- "name": "d693780f-543d-4aad-a4c8-139ff6a1db8d",
- "id": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicies/d693780f-543d-4aad-a4c8-139ff6a1db8d",
+ "name": "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ "id": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/570c3619-7688-4b34-b290-2b8bb3ccab2a",
"type": "Microsoft.Authorization/RoleManagementPolicies"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByScope.json
index 0a329c482a08..7b12f8c8e2a0 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByScope.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByScope.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
+ "scope": "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
"api-version": "2020-10-01-preview"
},
"responses": {
@@ -9,21 +9,42 @@
"value": [
{
"properties": {
- "scope": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
+ "scope": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
"displayName": null,
"description": null,
"isOrganizationDefault": false,
- "lastUpdatedDateTime": "2020-12-04T18:34:17.153+00:00",
+ "lastModifiedDateTime": "2021-03-17T02:54:27.167+00:00",
+ "lastModifiedBy": {
+ "id": null,
+ "displayName": "Admin",
+ "type": null,
+ "email": null
+ },
"rules": [
{
- "isExpirationRequired": false,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Eligible",
+ "enabledRules": [],
+ "id": "Enablement_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": true,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -34,16 +55,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -54,16 +76,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -74,16 +97,17 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "approver_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -92,29 +116,32 @@
}
},
{
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Eligible",
+ "enabledRules": [
+ "MultiFactorAuthentication",
+ "Justification"
+ ],
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Member",
+ "isExpirationRequired": false,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -125,16 +152,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -145,16 +173,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -165,31 +194,17 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "approver_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -198,105 +213,76 @@
}
},
{
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
+ "setting": {
+ "isApprovalRequired": true,
+ "isApprovalRequiredForExtension": false,
+ "isRequestorJustificationRequired": true,
+ "approvalMode": "SingleStage",
+ "approvalStages": [
+ {
+ "approvalStageTimeOutInDays": 1,
+ "isApproverJustificationRequired": true,
+ "escalationTimeInMinutes": 0,
+ "primaryApprovers": [
+ {
+ "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
+ "description": "amansw_new_group",
+ "isBackup": false,
+ "userType": "Group"
+ },
+ {
+ "id": "2f4913c9-d15b-406a-9946-1d66a28f2690",
+ "description": "amansw_group",
+ "isBackup": false,
+ "userType": "Group"
+ }
+ ],
+ "isEscalationEnabled": false,
+ "escalationApprovers": null
+ }
+ ]
+ },
+ "id": "Approval_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
+ "isEnabled": false,
+ "claimValue": "",
+ "id": "AuthenticationContext_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
+ "enabledRules": [
+ "MultiFactorAuthentication",
+ "Justification",
+ "Ticketing"
],
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Eligible",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isEnabled": false,
- "claimValue": null,
- "id": "AuthenticationContext_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyAuthenticationContextRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -306,13 +292,13 @@
},
{
"isExpirationRequired": true,
- "maximumDuration": "1.00:00:00",
- "id": "Expiration_EndUser_ALL_Member",
+ "maximumDuration": "PT7H",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -323,16 +309,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_enduser_member@test.com"
],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -343,16 +330,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_enduser_member@test.com"
],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -363,62 +351,48 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": true,
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
- },
+ }
+ ],
+ "effectiveRules": [
{
"enabledRules": [],
- "id": "Ticketing_EndUser_ALL_Member",
+ "id": "Enablement_Admin_Eligibility",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
- "caller": "EndUser",
+ "caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
- "level": "Assignment",
+ "level": "Eligibility",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- }
- ],
- "effectiveRules": [
- {
- "isExpirationRequired": false,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Eligible",
+ "isExpirationRequired": true,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Eligibility",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -429,16 +403,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Eligible",
+ "id": "Notification_Admin_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -449,16 +424,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Eligible",
+ "id": "Notification_Requestor_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -469,16 +445,17 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "approver_admin_eligible@test.com"
],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Eligible",
+ "id": "Notification_Approver_Admin_Eligibility",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Eligibility",
"targetObjects": null,
@@ -487,29 +464,32 @@
}
},
{
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Eligible",
+ "enabledRules": [
+ "MultiFactorAuthentication",
+ "Justification"
+ ],
+ "id": "Enablement_Admin_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Member",
+ "isExpirationRequired": false,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -520,16 +500,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Member",
+ "id": "Notification_Admin_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -540,16 +521,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Member",
+ "id": "Notification_Requestor_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -560,31 +542,17 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "approver_admin_member@test.com"
],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Member",
+ "id": "Notification_Approver_Admin_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "Admin",
"operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -593,105 +561,76 @@
}
},
{
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
+ "setting": {
+ "isApprovalRequired": true,
+ "isApprovalRequiredForExtension": false,
+ "isRequestorJustificationRequired": true,
+ "approvalMode": "SingleStage",
+ "approvalStages": [
+ {
+ "approvalStageTimeOutInDays": 1,
+ "isApproverJustificationRequired": true,
+ "escalationTimeInMinutes": 0,
+ "primaryApprovers": [
+ {
+ "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
+ "description": "amansw_new_group",
+ "isBackup": false,
+ "userType": "Group"
+ },
+ {
+ "id": "2f4913c9-d15b-406a-9946-1d66a28f2690",
+ "description": "amansw_group",
+ "isBackup": false,
+ "userType": "Group"
+ }
+ ],
+ "isEscalationEnabled": false,
+ "escalationApprovers": null
+ }
+ ]
+ },
+ "id": "Approval_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyApprovalRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
+ "isEnabled": false,
+ "claimValue": "",
+ "id": "AuthenticationContext_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyAuthenticationContextRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
- "level": "Eligibility",
+ "level": "Assignment",
"targetObjects": null,
"inheritableSettings": null,
"enforcedSettings": null
}
},
{
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
+ "enabledRules": [
+ "MultiFactorAuthentication",
+ "Justification",
+ "Ticketing"
],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Eligible",
+ "id": "Enablement_EndUser_Assignment",
"ruleType": "RoleManagementPolicyEnablementRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isEnabled": false,
- "claimValue": null,
- "id": "AuthenticationContext_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyAuthenticationContextRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -701,13 +640,13 @@
},
{
"isExpirationRequired": true,
- "maximumDuration": "1.00:00:00",
- "id": "Expiration_EndUser_ALL_Member",
+ "maximumDuration": "PT7H",
+ "id": "Expiration_EndUser_Assignment",
"ruleType": "RoleManagementPolicyExpirationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -718,16 +657,17 @@
{
"notificationType": "Email",
"recipientType": "Admin",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "admin_enduser_member@test.com"
],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Member",
+ "id": "Notification_Admin_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -738,16 +678,17 @@
{
"notificationType": "Email",
"recipientType": "Requestor",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
"notificationRecipients": [
- ""
+ "requestor_enduser_member@test.com"
],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Member",
+ "id": "Notification_Requestor_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -758,44 +699,15 @@
{
"notificationType": "Email",
"recipientType": "Approver",
- "notificationLevel": "ALL",
+ "isDefaultRecipientsEnabled": true,
+ "notificationLevel": "Critical",
"notificationRecipients": null,
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Member",
+ "id": "Notification_Approver_EndUser_Assignment",
"ruleType": "RoleManagementPolicyNotificationRule",
"target": {
"caller": "EndUser",
"operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "Ticketing_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
+ "All"
],
"level": "Assignment",
"targetObjects": null,
@@ -803,10 +715,17 @@
"enforcedSettings": null
}
}
- ]
+ ],
+ "policyProperties": {
+ "scope": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ }
+ }
},
- "name": "d693780f-543d-4aad-a4c8-139ff6a1db8d",
- "id": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicies/d693780f-543d-4aad-a4c8-139ff6a1db8d",
+ "name": "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ "id": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/570c3619-7688-4b34-b290-2b8bb3ccab2a",
"type": "Microsoft.Authorization/RoleManagementPolicies"
}
]
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchPartialRoleManagementPolicy.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchPartialRoleManagementPolicy.json
new file mode 100644
index 000000000000..6b8c3ce11adc
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchPartialRoleManagementPolicy.json
@@ -0,0 +1,775 @@
+{
+ "parameters": {
+ "scope": "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleManagementPolicyName": "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "rules": [
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P180D",
+ "id": "Expiration_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_eligible@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "scope": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "displayName": null,
+ "description": null,
+ "isOrganizationDefault": false,
+ "lastModifiedDateTime": "2021-03-17T16:35:27.91+00:00",
+ "lastModifiedBy": {
+ "id": null,
+ "displayName": "Admin",
+ "type": null,
+ "email": null
+ },
+ "rules": [
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P180D",
+ "id": "Expiration_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_eligible@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_eligible@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_eligible@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [],
+ "id": "Enablement_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication"
+ ],
+ "id": "Enablement_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_member@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_member@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_member@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": true,
+ "maximumDuration": "PT7H",
+ "id": "Expiration_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication",
+ "Ticketing"
+ ],
+ "id": "Enablement_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "setting": {
+ "isApprovalRequired": true,
+ "isApprovalRequiredForExtension": false,
+ "isRequestorJustificationRequired": true,
+ "approvalMode": "SingleStage",
+ "approvalStages": [
+ {
+ "approvalStageTimeOutInDays": 1,
+ "isApproverJustificationRequired": true,
+ "escalationTimeInMinutes": 0,
+ "primaryApprovers": [
+ {
+ "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
+ "description": "amansw_new_group",
+ "isBackup": false,
+ "userType": "Group"
+ },
+ {
+ "id": "2f4913c9-d15b-406a-9946-1d66a28f2690",
+ "description": "amansw_group",
+ "isBackup": false,
+ "userType": "Group"
+ }
+ ],
+ "isEscalationEnabled": false,
+ "escalationApprovers": null
+ }
+ ]
+ },
+ "id": "Approval_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyApprovalRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isEnabled": false,
+ "claimValue": "",
+ "id": "AuthenticationContext_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyAuthenticationContextRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_enduser_member@test.com"
+ ],
+ "id": "Notification_Admin_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_enduser_member@test.com"
+ ],
+ "id": "Notification_Requestor_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": true,
+ "notificationLevel": "Critical",
+ "notificationRecipients": null,
+ "id": "Notification_Approver_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ }
+ ],
+ "effectiveRules": [
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P180D",
+ "id": "Expiration_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_eligible@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_eligible@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_eligible@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [],
+ "id": "Enablement_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication"
+ ],
+ "id": "Enablement_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_member@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_member@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_member@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": true,
+ "maximumDuration": "PT7H",
+ "id": "Expiration_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication",
+ "Ticketing"
+ ],
+ "id": "Enablement_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "setting": {
+ "isApprovalRequired": true,
+ "isApprovalRequiredForExtension": false,
+ "isRequestorJustificationRequired": true,
+ "approvalMode": "SingleStage",
+ "approvalStages": [
+ {
+ "approvalStageTimeOutInDays": 1,
+ "isApproverJustificationRequired": true,
+ "escalationTimeInMinutes": 0,
+ "primaryApprovers": [
+ {
+ "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
+ "description": "amansw_new_group",
+ "isBackup": false,
+ "userType": "Group"
+ },
+ {
+ "id": "2f4913c9-d15b-406a-9946-1d66a28f2690",
+ "description": "amansw_group",
+ "isBackup": false,
+ "userType": "Group"
+ }
+ ],
+ "isEscalationEnabled": false,
+ "escalationApprovers": null
+ }
+ ]
+ },
+ "id": "Approval_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyApprovalRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isEnabled": false,
+ "claimValue": "",
+ "id": "AuthenticationContext_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyAuthenticationContextRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_enduser_member@test.com"
+ ],
+ "id": "Notification_Admin_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_enduser_member@test.com"
+ ],
+ "id": "Notification_Requestor_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": true,
+ "notificationLevel": "Critical",
+ "notificationRecipients": null,
+ "id": "Notification_Approver_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ }
+ ],
+ "policyProperties": {
+ "scope": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ }
+ }
+ },
+ "name": "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ "id": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ "type": "Microsoft.Authorization/RoleManagementPolicies"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchRoleManagementPolicy.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchRoleManagementPolicy.json
new file mode 100644
index 000000000000..fa90678e6b8f
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchRoleManagementPolicy.json
@@ -0,0 +1,1084 @@
+{
+ "parameters": {
+ "scope": "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleManagementPolicyName": "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "rules": [
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P180D",
+ "id": "Expiration_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_eligible@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_eligible@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_eligible@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [],
+ "id": "Enablement_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication"
+ ],
+ "id": "Enablement_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_member@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_member@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_member@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": true,
+ "maximumDuration": "PT7H",
+ "id": "Expiration_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication",
+ "Ticketing"
+ ],
+ "id": "Enablement_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "setting": {
+ "isApprovalRequired": true,
+ "isApprovalRequiredForExtension": false,
+ "isRequestorJustificationRequired": true,
+ "approvalMode": "SingleStage",
+ "approvalStages": [
+ {
+ "approvalStageTimeOutInDays": 1,
+ "isApproverJustificationRequired": true,
+ "escalationTimeInMinutes": 0,
+ "primaryApprovers": [
+ {
+ "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
+ "description": "amansw_new_group",
+ "isBackup": false,
+ "userType": "Group"
+ },
+ {
+ "id": "2f4913c9-d15b-406a-9946-1d66a28f2690",
+ "description": "amansw_group",
+ "isBackup": false,
+ "userType": "Group"
+ }
+ ],
+ "isEscalationEnabled": false,
+ "escalationApprovers": null
+ }
+ ]
+ },
+ "id": "Approval_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyApprovalRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isEnabled": false,
+ "claimValue": "",
+ "id": "AuthenticationContext_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyAuthenticationContextRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_enduser_member@test.com"
+ ],
+ "id": "Notification_Admin_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_enduser_member@test.com"
+ ],
+ "id": "Notification_Requestor_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": true,
+ "notificationLevel": "Critical",
+ "notificationRecipients": null,
+ "id": "Notification_Approver_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "scope": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "displayName": null,
+ "description": null,
+ "isOrganizationDefault": false,
+ "lastModifiedDateTime": "2021-03-17T16:35:27.91+00:00",
+ "lastModifiedBy": {
+ "id": null,
+ "displayName": "Admin",
+ "type": null,
+ "email": null
+ },
+ "rules": [
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P180D",
+ "id": "Expiration_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_eligible@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_eligible@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_eligible@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [],
+ "id": "Enablement_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication"
+ ],
+ "id": "Enablement_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_member@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_member@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_member@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": true,
+ "maximumDuration": "PT7H",
+ "id": "Expiration_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication",
+ "Ticketing"
+ ],
+ "id": "Enablement_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "setting": {
+ "isApprovalRequired": true,
+ "isApprovalRequiredForExtension": false,
+ "isRequestorJustificationRequired": true,
+ "approvalMode": "SingleStage",
+ "approvalStages": [
+ {
+ "approvalStageTimeOutInDays": 1,
+ "isApproverJustificationRequired": true,
+ "escalationTimeInMinutes": 0,
+ "primaryApprovers": [
+ {
+ "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
+ "description": "amansw_new_group",
+ "isBackup": false,
+ "userType": "Group"
+ },
+ {
+ "id": "2f4913c9-d15b-406a-9946-1d66a28f2690",
+ "description": "amansw_group",
+ "isBackup": false,
+ "userType": "Group"
+ }
+ ],
+ "isEscalationEnabled": false,
+ "escalationApprovers": null
+ }
+ ]
+ },
+ "id": "Approval_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyApprovalRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isEnabled": false,
+ "claimValue": "",
+ "id": "AuthenticationContext_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyAuthenticationContextRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_enduser_member@test.com"
+ ],
+ "id": "Notification_Admin_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_enduser_member@test.com"
+ ],
+ "id": "Notification_Requestor_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": true,
+ "notificationLevel": "Critical",
+ "notificationRecipients": null,
+ "id": "Notification_Approver_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ }
+ ],
+ "effectiveRules": [
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P180D",
+ "id": "Expiration_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_eligible@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_eligible@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_eligible@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [],
+ "id": "Enablement_Admin_Eligibility",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Eligibility",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": false,
+ "maximumDuration": "P90D",
+ "id": "Expiration_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication"
+ ],
+ "id": "Enablement_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_admin_member@test.com"
+ ],
+ "id": "Notification_Admin_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_admin_member@test.com"
+ ],
+ "id": "Notification_Requestor_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "approver_admin_member@test.com"
+ ],
+ "id": "Notification_Approver_Admin_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "Admin",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isExpirationRequired": true,
+ "maximumDuration": "PT7H",
+ "id": "Expiration_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyExpirationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "enabledRules": [
+ "Justification",
+ "MultiFactorAuthentication",
+ "Ticketing"
+ ],
+ "id": "Enablement_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyEnablementRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "setting": {
+ "isApprovalRequired": true,
+ "isApprovalRequiredForExtension": false,
+ "isRequestorJustificationRequired": true,
+ "approvalMode": "SingleStage",
+ "approvalStages": [
+ {
+ "approvalStageTimeOutInDays": 1,
+ "isApproverJustificationRequired": true,
+ "escalationTimeInMinutes": 0,
+ "primaryApprovers": [
+ {
+ "id": "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd",
+ "description": "amansw_new_group",
+ "isBackup": false,
+ "userType": "Group"
+ },
+ {
+ "id": "2f4913c9-d15b-406a-9946-1d66a28f2690",
+ "description": "amansw_group",
+ "isBackup": false,
+ "userType": "Group"
+ }
+ ],
+ "isEscalationEnabled": false,
+ "escalationApprovers": null
+ }
+ ]
+ },
+ "id": "Approval_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyApprovalRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "isEnabled": false,
+ "claimValue": "",
+ "id": "AuthenticationContext_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyAuthenticationContextRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Admin",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "admin_enduser_member@test.com"
+ ],
+ "id": "Notification_Admin_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Requestor",
+ "isDefaultRecipientsEnabled": false,
+ "notificationLevel": "Critical",
+ "notificationRecipients": [
+ "requestor_enduser_member@test.com"
+ ],
+ "id": "Notification_Requestor_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ },
+ {
+ "notificationType": "Email",
+ "recipientType": "Approver",
+ "isDefaultRecipientsEnabled": true,
+ "notificationLevel": "Critical",
+ "notificationRecipients": null,
+ "id": "Notification_Approver_EndUser_Assignment",
+ "ruleType": "RoleManagementPolicyNotificationRule",
+ "target": {
+ "caller": "EndUser",
+ "operations": [
+ "All"
+ ],
+ "level": "Assignment",
+ "targetObjects": null,
+ "inheritableSettings": null,
+ "enforcedSettings": null
+ }
+ }
+ ],
+ "policyProperties": {
+ "scope": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ }
+ }
+ },
+ "name": "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ "id": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ "type": "Microsoft.Authorization/RoleManagementPolicies"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleAssignmentScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleAssignmentScheduleRequest.json
index 0164e4fd3406..e374bb892137 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleAssignmentScheduleRequest.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleAssignmentScheduleRequest.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleAssignmentScheduleRequestName": "fea7a502-9a96-4806-a26f-eee560e52045",
"parameters": {
"properties": {
@@ -13,7 +13,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "08:00:00"
+ "duration": "PT8H"
}
},
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
@@ -28,7 +28,7 @@
"properties": {
"targetRoleAssignmentScheduleId": "c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
"targetRoleAssignmentScheduleInstanceId": null,
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
@@ -40,7 +40,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "08:00:00"
+ "duration": "PT8H"
}
},
"ticketInfo": {
@@ -51,10 +51,28 @@
"requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"createdOn": "2020-09-09T21:35:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "fea7a502-9a96-4806-a26f-eee560e52045",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045",
"type": "Microsoft.Authorization/RoleAssignmentScheduleRequests"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleEligibilityScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleEligibilityScheduleRequest.json
index 628512931f60..5d8dc971105d 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleEligibilityScheduleRequest.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleEligibilityScheduleRequest.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleEligibilityScheduleRequestName": "64caffb6-55c0-4deb-a585-68e948ea1ad6",
"parameters": {
"properties": {
@@ -12,7 +12,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "365.00:00:00"
+ "duration": "P365D"
}
},
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
@@ -27,7 +27,7 @@
"properties": {
"targetRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413",
"targetRoleEligibilityScheduleInstanceId": null,
- "scope": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
"roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
"principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"principalType": "User",
@@ -39,7 +39,7 @@
"expiration": {
"type": "AfterDuration",
"endDateTime": null,
- "duration": "365.00:00:00"
+ "duration": "P365D"
}
},
"ticketInfo": {
@@ -50,10 +50,28 @@
"requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
"createdOn": "2020-09-09T21:32:27.91Z",
"condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
- "conditionVersion": "1.0"
+ "conditionVersion": "1.0",
+ "expandedProperties": {
+ "scope": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608",
+ "displayName": "Contributor",
+ "type": "BuiltInRole"
+ },
+ "principal": {
+ "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea",
+ "displayName": "User Account",
+ "email": "user@my-tenant.com",
+ "type": "User"
+ }
+ }
},
"name": "64caffb6-55c0-4deb-a585-68e948ea1ad6",
- "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
+ "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6",
"type": "Microsoft.Authorization/RoleEligibilityScheduleRequests"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicy.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicy.json
deleted file mode 100644
index 052f54130314..000000000000
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicy.json
+++ /dev/null
@@ -1,1214 +0,0 @@
-{
- "parameters": {
- "scope": "subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleManagementPolicyName": "d693780f-543d-4aad-a4c8-139ff6a1db8d",
- "api-version": "2020-10-01-preview",
- "parameters": {
- "properties": {
- "scope": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "isOrganizationDefault": false,
- "rules": [
- {
- "isExpirationRequired": false,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isEnabled": false,
- "claimValue": null,
- "id": "AuthenticationContext_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyAuthenticationContextRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isExpirationRequired": true,
- "maximumDuration": "1.00:00:00",
- "id": "Expiration_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": null,
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "Ticketing_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- }
- ]
- }
- }
- },
- "responses": {
- "201": {
- "body": {
- "properties": {
- "scope": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "displayName": null,
- "description": null,
- "isOrganizationDefault": false,
- "lastUpdatedDateTime": "2020-12-04T18:34:17.153+00:00",
- "rules": [
- {
- "isExpirationRequired": false,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isEnabled": false,
- "claimValue": null,
- "id": "AuthenticationContext_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyAuthenticationContextRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isExpirationRequired": true,
- "maximumDuration": "1.00:00:00",
- "id": "Expiration_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": null,
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "Ticketing_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- }
- ],
- "effectiveRules": [
- {
- "isExpirationRequired": false,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Eligible",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_Admin_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "Admin",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isExpirationRequired": true,
- "maximumDuration": "90.00:00:00",
- "id": "Expiration_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Eligible",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Eligibility",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isEnabled": false,
- "claimValue": null,
- "id": "AuthenticationContext_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyAuthenticationContextRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "isExpirationRequired": true,
- "maximumDuration": "1.00:00:00",
- "id": "Expiration_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyExpirationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Admin",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Admin_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Requestor",
- "notificationLevel": "ALL",
- "notificationRecipients": [
- ""
- ],
- "id": "Notification_Email_ALL_Requestor_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "notificationType": "Email",
- "recipientType": "Approver",
- "notificationLevel": "ALL",
- "notificationRecipients": null,
- "id": "Notification_Email_ALL_Approver_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyNotificationRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "Ticketing_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- },
- {
- "enabledRules": [],
- "id": "MultifactorAuthentication_EndUser_ALL_Member",
- "ruleType": "RoleManagementPolicyEnablementRule",
- "target": {
- "caller": "EndUser",
- "operations": [
- "ALL"
- ],
- "level": "Assignment",
- "targetObjects": null,
- "inheritableSettings": null,
- "enforcedSettings": null
- }
- }
- ]
- },
- "name": "d693780f-543d-4aad-a4c8-139ff6a1db8d",
- "id": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicies/d693780f-543d-4aad-a4c8-139ff6a1db8d",
- "type": "Microsoft.Authorization/RoleManagementPolicies"
- }
- }
- }
-}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicyAssignment.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicyAssignment.json
index f606dea2b49e..54fd4ac29539 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicyAssignment.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicyAssignment.json
@@ -1,13 +1,13 @@
{
"parameters": {
- "scope": "subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleManagementPolicyAssignmentName": "477f2d04-0fdc-417f-ab1b-d9fff8137134_a37489be-9462-48fb-a3b6-7b9bc2debbad",
+ "scope": "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleManagementPolicyAssignmentName": "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
"api-version": "2020-10-01-preview",
"parameters": {
"properties": {
- "scope": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleDefinitionId": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/roleDefinitions/a37489be-9462-48fb-a3b6-7b9bc2debbad",
- "policyId": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicies/477f2d04-0fdc-417f-ab1b-d9fff8137134"
+ "scope": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleDefinitionId": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "policyId": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9"
}
}
},
@@ -15,12 +15,29 @@
"201": {
"body": {
"properties": {
- "scope": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3",
- "roleDefinitionId": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/roleDefinitions/a37489be-9462-48fb-a3b6-7b9bc2debbad",
- "policyId": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicies/477f2d04-0fdc-417f-ab1b-d9fff8137134"
+ "scope": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "roleDefinitionId": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "policyId": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9",
+ "policyAssignmentProperties": {
+ "scope": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "displayName": "Pay-As-You-Go",
+ "type": "subscription"
+ },
+ "roleDefinition": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "displayName": "FHIR Data Converter",
+ "type": "BuiltInRole"
+ },
+ "policy": {
+ "id": "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9",
+ "lastModifiedBy": null,
+ "lastModifiedDateTime": null
+ }
+ }
},
- "name": "477f2d04-0fdc-417f-ab1b-d9fff8137134_a37489be-9462-48fb-a3b6-7b9bc2debbad",
- "id": "/subscriptions/892f85f0-fd69-4fe8-8ee2-bda821252ac3/providers/Microsoft.Authorization/RoleManagementPolicyAssignment/477f2d04-0fdc-417f-ab1b-d9fff8137134_a37489be-9462-48fb-a3b6-7b9bc2debbad",
+ "name": "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ "id": "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicyAssignment/b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
"type": "Microsoft.Authorization/RoleManagementPolicyAssignment"
}
}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateById.json
new file mode 100644
index 000000000000..b172307d1b28
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateById.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResource.json
new file mode 100644
index 000000000000..11ded8825d3a
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResource.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResourceGroup.json
new file mode 100644
index 000000000000..37a69263995f
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResourceGroup.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForSubscription.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForSubscription.json
new file mode 100644
index 000000000000..60c5abcccc2c
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForSubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Delete.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Delete.json
new file mode 100644
index 000000000000..d8b002860e45
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Delete.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_DeleteById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_DeleteById.json
new file mode 100644
index 000000000000..a414596e76e5
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_DeleteById.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Get.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Get.json
new file mode 100644
index 000000000000..93052cf0c395
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_GetById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_GetById.json
new file mode 100644
index 000000000000..a5d8de87a3ad
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_GetById.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResource.json
new file mode 100644
index 000000000000..85683823c41f
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResource.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "resourceGroupName": "testrg",
+ "resourceProviderNamespace": "Microsoft.DocumentDb",
+ "resourceType": "databaseAccounts",
+ "resourceName": "test-db-account",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ },
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleAssignments/96786e4b-dede-4c2e-8736-8ab911987f08",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "96786e4b-dede-4c2e-8736-8ab911987f08"
+ },
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account/providers/Microsoft.Authorization/roleAssignments/05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "05c5a614-a7d6-4502-b150-c2fb455033ff"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResourceGroup.json
new file mode 100644
index 000000000000..80054fb926d5
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResourceGroup.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "resourceGroupName": "testrg",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ },
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.Authorization/roleAssignments/96786e4b-dede-4c2e-8736-8ab911987f08",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "96786e4b-dede-4c2e-8736-8ab911987f08"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForScope.json
new file mode 100644
index 000000000000..fde73619393d
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForScope.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForSubscription.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForSubscription.json
new file mode 100644
index 000000000000..91082f6498b2
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForSubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User",
+ "scope": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2"
+ },
+ "id": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "b0f43c54-e787-4862-89b1-a653fa9cf747"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json
new file mode 100644
index 000000000000..7f5a3391adf5
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": false,
+ "errorInfo": {
+ "code": "InvalidRoleDefinitionId",
+ "message": "The specified role definition with ID '0b5fe924-9a61-425c-96af-cfe6e287ca2d' does not exist."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdValid.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdValid.json
new file mode 100644
index 000000000000..e533ed6a6352
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdValid.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "roleAssignmentId": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": true
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateInvalid.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateInvalid.json
new file mode 100644
index 000000000000..9fdd04ebcaf5
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateInvalid.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": false,
+ "errorInfo": {
+ "code": "InvalidRoleDefinitionId",
+ "message": "The specified role definition with ID '0b5fe924-9a61-425c-96af-cfe6e287ca2d' does not exist."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateValid.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateValid.json
new file mode 100644
index 000000000000..c6065de7bdae
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateValid.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "scope": "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "roleAssignmentName": "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ "api-version": "2020-10-01-preview",
+ "parameters": {
+ "properties": {
+ "roleDefinitionId": "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d",
+ "principalId": "ce2ce14e-85d7-4629-bdbc-454d0519d987",
+ "principalType": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isValid": true
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/readme.azureresourceschema.md b/specification/authorization/resource-manager/readme.azureresourceschema.md
index f667b0ddc104..374bf0279fc0 100644
--- a/specification/authorization/resource-manager/readme.azureresourceschema.md
+++ b/specification/authorization/resource-manager/readme.azureresourceschema.md
@@ -9,8 +9,10 @@ batch:
- tag: schema-authorization-2021-03-01-preview
- tag: schema-authorization-2021-01-01-preview
- tag: schema-authorization-2020-10-01-preview
+ - tag: schema-authorization-2020-08-01-preview
- tag: schema-authorization-2020-04-01-preview
- tag: schema-authorization-2020-03-01-preview
+ - tag: schema-authorization-2019-08-01-preview
- tag: schema-authorization-2018-09-01-preview
- tag: schema-authorization-2018-07-01-preview
- tag: schema-authorization-2018-05-01-preview
@@ -60,6 +62,18 @@ input-file:
- Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleRequest.json
- Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json
- Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicyAssignment.json
+ - Microsoft.Authorization/preview/2020-10-01-preview/authorization-RoleAssignmentsCalls.json
+
+```
+
+### Tag: schema-authorization-2020-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2020-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json
```
@@ -81,13 +95,18 @@ output-folder: $(azureresourceschema-folder)/schemas
# all the input files in this apiVersion
input-file:
- - Microsoft.Authorization/preview/2020-03-01-preview/authorization-ClassicAdminCalls.json
- - Microsoft.Authorization/preview/2020-03-01-preview/authorization-ElevateAccessCalls.json
- - Microsoft.Authorization/preview/2020-03-01-preview/authorization-ProviderOperationsCalls.json
- - Microsoft.Authorization/preview/2020-03-01-preview/authorization-RoleDefinitionsCalls.json
- - Microsoft.Authorization/preview/2020-03-01-preview/authorization-DenyAssignmentGetCalls.json
- Microsoft.Authorization/preview/2020-03-01-preview/authorization-RoleAssignmentsCalls.json
- - Microsoft.Authorization/preview/2020-03-01-preview/authorization-PermissionsCalls.json
+
+```
+
+### Tag: schema-authorization-2019-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2019-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2019-08-01-preview/authorization-UsageMetricsCalls.json
```
diff --git a/specification/authorization/resource-manager/readme.csharp.md b/specification/authorization/resource-manager/readme.csharp.md
index 98672bc03bc6..b2467c1c74d4 100644
--- a/specification/authorization/resource-manager/readme.csharp.md
+++ b/specification/authorization/resource-manager/readme.csharp.md
@@ -110,7 +110,7 @@ batch:
- tag: profile-hybrid-2019-03-01
```
- ### Profile: hybrid_2020_09_01
+### Profile: hybrid_2020_09_01
These settings apply only when `--csharp-profile=hybrid_2020_09_01` is specified on the command line.
@@ -121,3 +121,15 @@ output-folder: $(csharp-sdks-folder)/$(csharp-profile)/Authorization/Management.
batch:
- tag: profile-hybrid-2020-09-01
```
+
+### Profile: profile_2020_10_01_preview
+
+These settings apply only when `--csharp-profile=profile_2020_10_01_preview` is specified on the command line.
+
+ ``` yaml $(csharp-profile)=='profile_2020_10_01_preview'
+namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Authorization
+output-folder: $(csharp-sdks-folder)/Authorization/Management.Authorization/$(csharp-profile)/Generated
+
+batch:
+ - tag: package-2020-10-01-preview
+ ```
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/readme.go.md b/specification/authorization/resource-manager/readme.go.md
index 3ce8f0241d2b..5fc1395ba05f 100644
--- a/specification/authorization/resource-manager/readme.go.md
+++ b/specification/authorization/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: authorization
clear-output-folder: true
```
@@ -19,6 +19,7 @@ batch:
- tag: package-2018-07-01-preview
- tag: package-2018-09-01-preview
- tag: package-2020-04-01-preview
+ - tag: package-2020-10-01-preview
```
### Tag: package-2015-07-01 and go
@@ -74,3 +75,12 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-10-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-10-01-preview/$(namespace)
+```
diff --git a/specification/authorization/resource-manager/readme.java.md b/specification/authorization/resource-manager/readme.java.md
index 5ee034dfdb6e..be6d12d76089 100644
--- a/specification/authorization/resource-manager/readme.java.md
+++ b/specification/authorization/resource-manager/readme.java.md
@@ -20,6 +20,7 @@ batch:
- tag: package-2018-07-01-preview-only
- tag: package-2015-06-01-preview
- tag: package-2018-05-01-preview
+ - tag: package-2020-10-01-preview
- tag: package-2021-01-01-preview-only
- tag: package-2021-03-01-preview-only
```
@@ -114,3 +115,16 @@ java:
regenerate-manager: true
generate-interface: true
```
+
+### Tag: package-2020-10-01-preview and java
+
+These settings apply only when `--tag=package-2020-10-01-preview --java` is specified on he command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-10-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.authorization.v2020_10_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/authorization/mgmt-v2020_10_01_preview
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md
index cd057a076f73..7609065927cc 100644
--- a/specification/authorization/resource-manager/readme.md
+++ b/specification/authorization/resource-manager/readme.md
@@ -69,10 +69,19 @@ directive:
where: $.definitions.DenyAssignmentProperties.properties.isSystemProtected
from: authorization-DenyAssignmentGetCalls.json
reason: for this case the result of the proposed change would resemble a boolean anyways
+ - suppress: EnumInsteadOfBoolean
+ where: $.definitions.ValidationResponse.properties.isValid
+ from: authorization-RoleAssignmentsCalls.json
+ reason: for this case the result of the proposed change would resemble a boolean anyways
- suppress: R4024
reason: Preview versions still in use
- suppress: RequiredSystemDataInNewApiVersions
reason: Existing APIs don't have this attribute. Suppressing so that we don't have to make changes to existing APIs
+ - suppress: RequiredReadOnlySystemData
+ reason: Existing APIs don't have this attribute. Suppressing so that we don't have to make changes to existing APIs
+ - suppress: XmsPathsMustOverloadPaths
+ from: authorization-RoleDefinitionsCalls.json
+ reason: x-ms-paths extension was previously required. Suppressing so that we don't have to make changes to existing APIs.
```
### Tag: package-2021-03-01-preview-only
@@ -98,6 +107,23 @@ input-file:
- Microsoft.Authorization/preview/2020-10-01-preview/RoleEligibilityScheduleRequest.json
- Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json
- Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicyAssignment.json
+- Microsoft.Authorization/preview/2020-10-01-preview/EligibleChildResources.json
+- Microsoft.Authorization/preview/2020-10-01-preview/authorization-RoleAssignmentsCalls.json
+```
+
+### Tag: package-2020-08-01-preview
+
+These settings apply only when `--tag=package-2020-08-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-08-01-preview'
+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/2019-08-01-preview/authorization-UsageMetricsCalls.json
+- Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json
```
### Tag: package-2020-04-01-preview
@@ -111,8 +137,8 @@ input-file:
- 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
- Microsoft.Authorization/preview/2019-08-01-preview/authorization-UsageMetricsCalls.json
+- Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
```
### Tag: package-2020-04-01-preview-only
@@ -130,13 +156,12 @@ These settings apply only when `--tag=package-2020-03-01-preview` is specified o
``` yaml $(tag) == 'package-2020-03-01-preview'
input-file:
-- Microsoft.Authorization/preview/2020-03-01-preview/authorization-ClassicAdminCalls.json
-- Microsoft.Authorization/preview/2020-03-01-preview/authorization-ElevateAccessCalls.json
-- Microsoft.Authorization/preview/2020-03-01-preview/authorization-ProviderOperationsCalls.json
-- Microsoft.Authorization/preview/2020-03-01-preview/authorization-RoleDefinitionsCalls.json
-- Microsoft.Authorization/preview/2020-03-01-preview/authorization-DenyAssignmentGetCalls.json
+- 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-03-01-preview/authorization-RoleAssignmentsCalls.json
-- Microsoft.Authorization/preview/2020-03-01-preview/authorization-PermissionsCalls.json
- Microsoft.Authorization/preview/2019-08-01-preview/authorization-UsageMetricsCalls.json
```
diff --git a/specification/authorization/resource-manager/readme.python.md b/specification/authorization/resource-manager/readme.python.md
index abe572efba2c..f43554d6a8ea 100644
--- a/specification/authorization/resource-manager/readme.python.md
+++ b/specification/authorization/resource-manager/readme.python.md
@@ -24,6 +24,7 @@ batch:
- tag: package-2021-03-01-preview-only
- tag: package-2021-01-01-preview-only
- tag: package-2020-04-01-preview-only
+ - tag: package-2020-10-01-preview
- tag: package-2018-09-01-preview-only
- tag: package-2018-07-01-preview-only
- tag: package-2018-05-01-preview
@@ -121,3 +122,12 @@ python:
namespace: azure.mgmt.authorization.v2021_01_01_preview
output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2021_01_01_preview
```
+### Tag: package-2020-10-01-preview and python
+
+These settings apply only when `--tag=package-2020-10-01-preview --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-10-01-preview' && $(python)
+python:
+ namespace: azure.mgmt.authorization.v2020_10_01_preview
+ output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2020_10_01_preview
+```
\ No newline at end of file
diff --git a/specification/authorization/resource-manager/readme.ruby.md b/specification/authorization/resource-manager/readme.ruby.md
index 17e0ca5f7794..f51bc0959efd 100644
--- a/specification/authorization/resource-manager/readme.ruby.md
+++ b/specification/authorization/resource-manager/readme.ruby.md
@@ -17,6 +17,7 @@ batch:
- tag: package-2017-10-01-preview-only
- tag: package-2018-01-01-preview-only
- tag: package-2018-05-01-preview-only
+ - tag: package-2020-10-01-preview
- tag: package-2021-01-01-preview-only
- tag: package-2021-03-01-preview-only
```
@@ -72,6 +73,16 @@ namespace: "Azure::Authorization::Mgmt::V2018_05_01_preview"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_authorization/lib
```
+### Tag: package-2020-10-01-preview and ruby
+
+These settings apply only when `--tag=package-2020-10-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-10-01-preview' && $(ruby)
+namespace: "Azure::Authorization::Mgmt::V2020_10_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_authorization/lib
+```
+
### Tag: package-2021-01-01-preview-only and ruby
These settings apply only when `--tag=package-2021-01-01-preview-only --ruby` is specified on the command line.
diff --git a/specification/authorization/resource-manager/readme.typescript.md b/specification/authorization/resource-manager/readme.typescript.md
index 83a6872c020c..f491412a6532 100644
--- a/specification/authorization/resource-manager/readme.typescript.md
+++ b/specification/authorization/resource-manager/readme.typescript.md
@@ -44,3 +44,16 @@ typescript:
batch:
- tag: profile-hybrid-2020-09-01
```
+
+### Profile: package-2020-10-01-preview
+
+These settings apply only when `--profile=package-2020-10-01-preview` is specified on the command line.
+
+``` yaml $(profile)=='package-2020-10-01-preview'
+typescript:
+ package-name: "@azure/arm-authorization-package-2020-10-01-preview"
+ output-folder: "$(typescript-sdks-folder)/sdk/authorization/arm-authorization-package-2020-10-01-preview"
+ clear-output-folder: true
+ batch:
+ - tag: package-2020-10-01-preview
+```
diff --git a/specification/automanage/resource-manager/readme.go.md b/specification/automanage/resource-manager/readme.go.md
index 16cdc4f4805e..144acf22b68b 100644
--- a/specification/automanage/resource-manager/readme.go.md
+++ b/specification/automanage/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: automanage
clear-output-folder: true
```
diff --git a/specification/automation/resource-manager/readme.go.md b/specification/automation/resource-manager/readme.go.md
index 4f5d97e67b1c..4e381bbc2169 100644
--- a/specification/automation/resource-manager/readme.go.md
+++ b/specification/automation/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: automation
clear-output-folder: true
```
diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md
index 6ea7f670e9bd..a6d6cffc732e 100644
--- a/specification/automation/resource-manager/readme.md
+++ b/specification/automation/resource-manager/readme.md
@@ -225,9 +225,10 @@ input-file:
- Microsoft.Automation/stable/2019-06-01/dscConfiguration.json
- Microsoft.Automation/stable/2019-06-01/job.json
- Microsoft.Automation/stable/2019-06-01/operations.json
-- Microsoft.Automation/stable/2019-06-01/runbook.json
+- Microsoft.Automation/stable/2019-06-01/softwareUpdateConfiguration.json
- Microsoft.Automation/stable/2019-06-01/softwareUpdateConfigurationRun.json
- Microsoft.Automation/stable/2019-06-01/softwareUpdateConfigurationMachineRun.json
+- Microsoft.Automation/stable/2018-06-30/runbook.json
- Microsoft.Automation/stable/2015-10-31/webhook.json
```
@@ -270,6 +271,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-python-track2
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/Features.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/Features.json
new file mode 100644
index 000000000000..08e49c717a68
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/Features.json
@@ -0,0 +1,473 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-11-01",
+ "title": "Compute Admin Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/features/{featureName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an existing feature.": {
+ "$ref": "examples/Features/Get.json"
+ }
+ },
+ "tags": [
+ "Features"
+ ],
+ "summary": "Returns the requested feature.",
+ "description": "Get an existing feature.",
+ "operationId": "Features_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/FeatureParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "Features.json#/definitions/Feature"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/features": {
+ "get": {
+ "x-ms-examples": {
+ "Get a list of existing features.": {
+ "$ref": "examples/Features/List.json"
+ }
+ },
+ "tags": [
+ "Features"
+ ],
+ "summary": "Lists all features.",
+ "description": "Get a list of existing features.",
+ "operationId": "Features_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "Features.json#/definitions/FeatureList"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/features/{featureName}/updateGlobalFeatureSettings": {
+ "post": {
+ "x-ms-examples": {
+ "Update the feature settings.": {
+ "$ref": "examples/Features/Update.json"
+ }
+ },
+ "tags": [
+ "Features"
+ ],
+ "summary": "Updates the global feature settings.",
+ "description": "Update the feature settings.",
+ "operationId": "UpdateGlobalFeatureSettings",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/FeatureParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/GlobalFeatureSettingsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/features/{featureName}/enableTenantSubscriptionFeature": {
+ "post": {
+ "x-ms-examples": {
+ "Enable the tenant subscription feature.": {
+ "$ref": "examples/Features/Enable.json"
+ }
+ },
+ "tags": [
+ "Features"
+ ],
+ "summary": "Enables the requested feature in the tenant subscription.",
+ "description": "Enable the tenant subscription feature.",
+ "operationId": "EnableTenantSubscriptionFeature",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/FeatureParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/TenantSubscriptionFeatureSettingsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/features/{featureName}/disableTenantSubscriptionFeature": {
+ "post": {
+ "x-ms-examples": {
+ "Disable the tenant subscription feature.": {
+ "$ref": "examples/Features/Disable.json"
+ }
+ },
+ "tags": [
+ "Features"
+ ],
+ "summary": "Disables the requested feature in the tenant subscription.",
+ "description": "Disable the tenant subscription feature.",
+ "operationId": "DisableTenantSubscriptionFeature",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "Features.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/FeatureParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "Features.json#/parameters/TenantSubscriptionFeatureSettingsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Feature": {
+ "description": "Subscription features that can be toggled.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Feature properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FeatureProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "FeatureProperties": {
+ "description": "Properties of features.",
+ "type": "object",
+ "properties": {
+ "featureName": {
+ "description": "The name of the feature.",
+ "type": "string"
+ },
+ "globalFeatureSettings": {
+ "description": "Higher-priority global feature flags.",
+ "$ref": "#/definitions/GlobalFeatureSettings"
+ },
+ "enabledTenantSubscriptionIds": {
+ "description": "List of subscription identifiers which have the feature enabled.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "GlobalFeatureSettings": {
+ "description": "Higher-priority global feature flags.",
+ "type": "object",
+ "properties": {
+ "globalFeatureState": {
+ "description": "The state of the global feature.",
+ "$ref": "#/definitions/GlobalFeatureState"
+ }
+ }
+ },
+ "GlobalFeatureState": {
+ "description": "The state of the global feature.",
+ "enum": [
+ "TenantSubscriptionLevel",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "GlobalFeatureState"
+ }
+ },
+ "FeatureList": {
+ "type": "object",
+ "description": "List features.",
+ "properties": {
+ "value": {
+ "description": "List of features.",
+ "type": "array",
+ "items": {
+ "$ref": "Features.json#/definitions/Feature"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ }
+ }
+ },
+ "TenantSubscriptionFeatureSettings": {
+ "type": "object",
+ "description": "The feature settings for the tenant subscription.",
+ "properties": {
+ "tenantSubscriptionId": {
+ "description": "The tenant subscription identifier.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Object containing error details.",
+ "$ref": "#/definitions/ErrorDetailsInternal"
+ }
+ }
+ },
+ "ErrorDetailsInternal": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "The target of the particular error.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "Base resource object.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "description": "ID of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "readOnly": true,
+ "description": "Name of the resource.",
+ "type": "string"
+ },
+ "type": {
+ "readOnly": true,
+ "description": "Type of Resource.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location of the resource.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API Version.",
+ "required": true,
+ "type": "string"
+ },
+ "LocationParameter": {
+ "description": "Location of the resource.",
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "FeatureParameter": {
+ "description": "Name of the feature.",
+ "name": "featureName",
+ "type": "string",
+ "required": true,
+ "in": "path",
+ "x-ms-parameter-location": "method"
+ },
+ "GlobalFeatureSettingsParameter": {
+ "description": "The global feature state to update.",
+ "name": "globalFeatureSettings",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GlobalFeatureSettings"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "TenantSubscriptionFeatureSettingsParameter": {
+ "description": "The tenant subscription feature settings to enable or disable.",
+ "name": "tenantSubscriptionFeatureSettings",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TenantSubscriptionFeatureSettings"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Disable.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Disable.json
new file mode 100644
index 000000000000..dd161ae01d81
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Disable.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "featureName": "imds",
+ "api-version": "2020-11-01",
+ "tenantSubscriptionFeatureSettings": {
+ "tenantSubscriptionId": "e4e827e5-2e03-4e00-b25a-99fc845eeb43"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Enable.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Enable.json
new file mode 100644
index 000000000000..dd161ae01d81
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Enable.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "featureName": "imds",
+ "api-version": "2020-11-01",
+ "tenantSubscriptionFeatureSettings": {
+ "tenantSubscriptionId": "e4e827e5-2e03-4e00-b25a-99fc845eeb43"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Get.json
new file mode 100644
index 000000000000..b062e3a4d7a8
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "featureName": "imds",
+ "api-version": "2020-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Compute.Admin/locations/local/features/imds",
+ "name": "imds",
+ "type": "Microsoft.Compute.Admin/locations/features",
+ "location": "local",
+ "properties": {
+ "enabledTenantSubscriptionIds": [
+ "ad8f911f-ef2a-4c0e-ab84-63116c955940"
+ ],
+ "featureName": "imds",
+ "globalFeatureSettings": {
+ "globalFeatureState": "Enabled"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/List.json
new file mode 100644
index 000000000000..996addc9470c
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/List.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Compute.Admin/locations/local/features/imds",
+ "name": "imds",
+ "type": "Microsoft.Compute.Admin/locations/features",
+ "location": "local",
+ "properties": {
+ "enabledTenantSubscriptionIds": [
+ "ad8f911f-ef2a-4c0e-ab84-63116c955940"
+ ],
+ "featureName": "imds",
+ "globalFeatureSettings": {
+ "globalFeatureState": "Enabled"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Update.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Update.json
new file mode 100644
index 000000000000..2f7539a18eec
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2020-11-01/examples/Features/Update.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "featureName": "imds",
+ "api-version": "2020-11-01",
+ "globalFeatureSettings": {
+ "globalFeatureState": "Enabled"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
new file mode 100644
index 000000000000..34ec689cfc5e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
@@ -0,0 +1,356 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-01-01",
+ "title": "Compute Admin Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas/{quotaName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get an existing Compute Quota.": {
+ "$ref": "examples/Quotas/Get.json"
+ }
+ },
+ "tags": [
+ "Quotas"
+ ],
+ "summary": "Returns the requested Compute quota.",
+ "description": "Get an existing Compute Quota.",
+ "operationId": "Quotas_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "Quotas.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/QuotaParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "Quotas.json#/definitions/Quota"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates or Updates a Compute Quota.": {
+ "$ref": "examples/Quotas/Create.json"
+ }
+ },
+ "tags": [
+ "Quotas"
+ ],
+ "description": "Creates or Updates a Compute Quota with the provided quota parameters.",
+ "summary": "Creates or Updates a Compute Quota.",
+ "operationId": "Quotas_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "Quotas.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/QuotaParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/NewQuotaParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "Quotas.json#/definitions/Quota"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Deletes specified Compute quota.": {
+ "$ref": "examples/Quotas/Delete.json"
+ }
+ },
+ "tags": [
+ "Quotas"
+ ],
+ "summary": "Deletes specified Compute quota",
+ "description": "Delete an existing Compute quota.",
+ "operationId": "Quotas_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "Quotas.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/QuotaParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute.Admin/locations/{location}/quotas": {
+ "get": {
+ "x-ms-examples": {
+ "Get a list of existing Compute quotas.": {
+ "$ref": "examples/Quotas/List.json"
+ }
+ },
+ "tags": [
+ "Quotas"
+ ],
+ "summary": "Lists all Compute quotas.",
+ "description": "Get a list of existing Compute quotas.",
+ "operationId": "Quotas_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "Quotas.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Quotas.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "Quotas.json#/definitions/QuotaList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Quota": {
+ "description": "Holds Compute quota information used to control resource allocation.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Compute Quota properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QuotaProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "QuotaProperties": {
+ "description": "Properties for a Compute Quota",
+ "type": "object",
+ "properties": {
+ "availabilitySetCount": {
+ "description": "Maximum number of availability sets allowed.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "coresLimit": {
+ "description": "Maximum number of cores allowed.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "virtualMachineCount": {
+ "description": "Maximum number of virtual machines allowed.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "vmScaleSetCount": {
+ "description": "Maximum number of scale sets allowed.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "maxAllocationStandardManagedDisksAndSnapshots": {
+ "description": "Maximum number of managed disks and snapshots of type standard allowed.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "maxAllocationPremiumManagedDisksAndSnapshots": {
+ "description": "Maximum number of managed disks and snapshots of type premium allowed.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "ddagpuCount": {
+ "description": "Maximum number of dda gpus allowed.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ },
+ "partitionedGpuCount": {
+ "description": "Maximum number of partitioned gpus allowed.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ },
+ "QuotaList": {
+ "description": "List of Compute quotas",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of Compute quotas",
+ "type": "array",
+ "items": {
+ "$ref": "Quotas.json#/definitions/Quota"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "description": "Base resource object.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "description": "ID of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "readOnly": true,
+ "description": "Name of the resource.",
+ "type": "string"
+ },
+ "type": {
+ "readOnly": true,
+ "description": "Type of Resource.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location of the resource.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API Version.",
+ "required": true,
+ "type": "string"
+ },
+ "LocationParameter": {
+ "description": "Location of the resource.",
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "QuotaParameter": {
+ "description": "Name of the quota.",
+ "name": "quotaName",
+ "type": "string",
+ "required": true,
+ "in": "path",
+ "x-ms-parameter-location": "method"
+ },
+ "NewQuotaParameter": {
+ "description": "New quota to create.",
+ "name": "newQuota",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Quota"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/Create.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/Create.json
new file mode 100644
index 000000000000..868be64d2a34
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/Create.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "quotaName": "testQuotaCreateUpdateDelete",
+ "api-version": "2021-01-01",
+ "newQuota": {
+ "properties": {
+ "availabilitySetCount": 2,
+ "coresLimit": 2,
+ "virtualMachineCount": 2,
+ "vmScaleSetCount": 2,
+ "maxAllocationStandardManagedDisksAndSnapshots": 1024,
+ "maxAllocationPremiumManagedDisksAndSnapshots": 1024,
+ "ddagpuCount": 6,
+ "partitionedGpuCount": 0
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/quotas/testQuotaCreateUpdateDelete",
+ "name": "testQuotaCreateUpdateDelete",
+ "type": "Microsoft.Compute.Admin/quotas",
+ "location": "local",
+ "properties": {
+ "virtualMachineCount": 2,
+ "coresLimit": 2,
+ "availabilitySetCount": 2,
+ "vmScaleSetCount": 2,
+ "maxAllocationStandardManagedDisksAndSnapshots": 1024,
+ "maxAllocationPremiumManagedDisksAndSnapshots": 1024,
+ "ddagpuCount": 6,
+ "partitionedGpuCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/Delete.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/Delete.json
new file mode 100644
index 000000000000..10651bebf525
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/Delete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "quotaName": "testQuotaCreateUpdateDelete",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/Get.json
new file mode 100644
index 000000000000..703136201c69
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "quotaName": "testQuotaCreateUpdateDelete",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/quotas/testQuotaCreateUpdateDelete",
+ "name": "testQuotaCreateUpdateDelete",
+ "type": "Microsoft.Compute.Admin/quotas",
+ "location": "local",
+ "properties": {
+ "virtualMachineCount": 1,
+ "coresLimit": 1,
+ "availabilitySetCount": 1,
+ "vmScaleSetCount": 1,
+ "maxAllocationStandardManagedDisksAndSnapshots": 1024,
+ "maxAllocationPremiumManagedDisksAndSnapshots": 1024,
+ "ddagpuCount": 6,
+ "partitionedGpuCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/List.json
new file mode 100644
index 000000000000..0af3abbcb658
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-01-01/examples/Quotas/List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "local",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/8158498d-27b1-4ccf-9aa1-de0f925731e6/providers/Microsoft.Compute.Admin/locations/local/quotas/Default Quota",
+ "name": "Default Quota",
+ "type": "Microsoft.Compute.Admin/quotas",
+ "location": "local",
+ "properties": {
+ "virtualMachineCount": 20,
+ "coresLimit": 50,
+ "availabilitySetCount": 10,
+ "vmScaleSetCount": 20,
+ "maxAllocationStandardManagedDisksAndSnapshots": 1024,
+ "maxAllocationPremiumManagedDisksAndSnapshots": 1024,
+ "ddagpuCount": 6,
+ "partitionedGpuCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/compute/readme.md b/specification/azsadmin/resource-manager/compute/readme.md
index 6e2d95dd3738..dfbaaaa82be7 100644
--- a/specification/azsadmin/resource-manager/compute/readme.md
+++ b/specification/azsadmin/resource-manager/compute/readme.md
@@ -24,21 +24,22 @@ These are the global settings for the Compute API.
title: ComputeAdminClient
description: Compute Admin Client
openapi-type: arm
-tag: package-2018-02-09
+tag: package-2021-01-01
```
-### Tag: package-2018-02-09
+### Tag: package-2021-01-01
-These settings apply only when `--tag=package-2018-02-09` is specified on the command line.
+These settings apply only when `--tag=package-2021-01-01` is specified on the command line.
-``` yaml $(tag) == 'package-2018-02-09'
+``` yaml $(tag) == 'package-2021-01-01'
input-file:
- Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
- Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
- - Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
- Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
- Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
- Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+ - Microsoft.Compute.Admin/stable/2020-11-01/Features.json
+ - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
```
---
@@ -64,10 +65,11 @@ csharp:
input-file:
- Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
- Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
- - Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
- Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
- Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
- Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+ - Microsoft.Compute.Admin/stable/2020-11-01/Features.json
+ - Microsoft.Compute.Admin/stable/2021-01-01/Quotas.json
```
## Multi-API/Profile support for AutoRest v3 generators
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
new file mode 100644
index 000000000000..b61d98ac4c88
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "kustodatabase",
+ "defaultPrincipalsModificationKind": "Union",
+ "tableLevelSharingProperties": {
+ "tablesToInclude": [
+ "Table1"
+ ],
+ "tablesToExclude": [
+ "Table2"
+ ],
+ "externalTablesToInclude": [
+ "ExternalTable1"
+ ],
+ "externalTablesToExclude": [
+ "ExternalTable2"
+ ],
+ "materializedViewsToInclude": [
+ "MaterializedViewTable1"
+ ],
+ "materializedViewsToExclude": [
+ "MaterializedViewTable2"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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",
+ "tableLevelSharingProperties": {
+ "tablesToInclude": [
+ "Table1"
+ ],
+ "tablesToExclude": [
+ "Table2"
+ ],
+ "externalTablesToInclude": [
+ "ExternalTable1"
+ ],
+ "externalTablesToExclude": [
+ "ExternalTable2"
+ ],
+ "materializedViewsToInclude": [
+ "MaterializedViewTable1"
+ ],
+ "materializedViewsToExclude": [
+ "MaterializedViewTable2"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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",
+ "tableLevelSharingProperties": {
+ "tablesToInclude": [
+ "Table1"
+ ],
+ "tablesToExclude": [
+ "Table2"
+ ],
+ "externalTablesToInclude": [
+ "ExternalTable1"
+ ],
+ "externalTablesToExclude": [
+ "ExternalTable2"
+ ],
+ "materializedViewsToInclude": [
+ "MaterializedViewTable1"
+ ],
+ "materializedViewsToExclude": [
+ "MaterializedViewTable2"
+ ]
+ },
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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",
+ "tableLevelSharingProperties": {
+ "tablesToInclude": [
+ "Table1"
+ ],
+ "tablesToExclude": [
+ "Table2"
+ ],
+ "externalTablesToInclude": [
+ "ExternalTable1"
+ ],
+ "externalTablesToExclude": [
+ "ExternalTable2"
+ ],
+ "materializedViewsToInclude": [
+ "MaterializedViewTable1"
+ ],
+ "materializedViewsToExclude": [
+ "MaterializedViewTable2"
+ ]
+ },
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsDelete.json
new file mode 100644
index 000000000000..1dcf499b34f4
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsGet.json
new file mode 100644
index 000000000000..c29f359ec919
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2021-01-01"
+ },
+ "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",
+ "tableLevelSharingProperties": {
+ "tablesToInclude": [
+ "Table1"
+ ],
+ "tablesToExclude": [
+ "Table2"
+ ],
+ "externalTablesToInclude": [
+ "ExternalTable1"
+ ],
+ "externalTablesToExclude": [
+ "ExternalTable2"
+ ],
+ "materializedViewsToInclude": [
+ "MaterializedViewTable1"
+ ],
+ "materializedViewsToExclude": [
+ "MaterializedViewTable2"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
new file mode 100644
index 000000000000..a8aa3ab033c7
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "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",
+ "tableLevelSharingProperties": {
+ "tablesToInclude": [
+ "Table1"
+ ],
+ "tablesToExclude": [
+ "Table2"
+ ],
+ "externalTablesToInclude": [
+ "ExternalTable1"
+ ],
+ "externalTablesToExclude": [
+ "ExternalTable2"
+ ],
+ "materializedViewsToInclude": [
+ "MaterializedViewTable1"
+ ],
+ "materializedViewsToExclude": [
+ "MaterializedViewTable2"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterAddLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterAddLanguageExtensions.json
new file mode 100644
index 000000000000..1a98a6c15a14
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterAddLanguageExtensions.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01",
+ "languageExtensionsToAdd": {
+ "value": [
+ {
+ "languageExtensionName": "PYTHON"
+ },
+ {
+ "languageExtensionName": "R"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterDetachFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterDetachFollowerDatabases.json
new file mode 100644
index 000000000000..ed6ab4256957
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterDetachFollowerDatabases.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01",
+ "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/2021-01-01/examples/KustoClusterListFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterListFollowerDatabases.json
new file mode 100644
index 000000000000..c6f3f3514d23
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterListFollowerDatabases.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "attachedDatabaseConfigurationName": "attachedDbConfiguration",
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower1",
+ "databaseName": "*"
+ },
+ {
+ "attachedDatabaseConfigurationName": "attachedDbConfiguration2",
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower4",
+ "databaseName": "db1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterListLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterListLanguageExtensions.json
new file mode 100644
index 000000000000..65dce448ceae
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterListLanguageExtensions.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "languageExtensionName": "PYTHON"
+ },
+ {
+ "languageExtensionName": "R"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json
new file mode 100644
index 000000000000..4b7b0e60934b
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/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": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kustoprincipal1",
+ "nameAvailable": false,
+ "message": "Name 'kustoprincipal1' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json
new file mode 100644
index 000000000000..7da3f78af218
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "properties": {
+ "role": "AllDatabasesAdmin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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/2021-01-01/examples/KustoClusterPrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsDelete.json
new file mode 100644
index 000000000000..cef58f6587a0
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsGet.json
new file mode 100644
index 000000000000..89ddc92f8807
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2021-01-01"
+ },
+ "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/2021-01-01/examples/KustoClusterPrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsList.json
new file mode 100644
index 000000000000..653625bbbdc5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterPrincipalAssignmentsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "api-version": "2021-01-01"
+ },
+ "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/2021-01-01/examples/KustoClusterRemoveLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterRemoveLanguageExtensions.json
new file mode 100644
index 000000000000..a39763ab5a51
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClusterRemoveLanguageExtensions.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01",
+ "languageExtensionsToRemove": {
+ "value": [
+ {
+ "languageExtensionName": "PYTHON"
+ },
+ {
+ "languageExtensionName": "R"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersCheckNameAvailability.json
new file mode 100644
index 000000000000..44f208718f3d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersCheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2021-01-01",
+ "location": "westus",
+ "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/2021-01-01/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersCreateOrUpdate.json
new file mode 100644
index 000000000000..0fc47abfdd8c
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersCreateOrUpdate.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01",
+ "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",
+ "enableDiskEncryption": false,
+ "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": {}
+ },
+ "etag": "abcd"
+ }
+ },
+ "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",
+ "enableDiskEncryption": false,
+ "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": {}
+ },
+ "etag": "abcd123"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersDelete.json
new file mode 100644
index 000000000000..9a8ef60227a4
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersDiagnoseVirtualNetwork.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersDiagnoseVirtualNetwork.json
new file mode 100644
index 000000000000..035a6ed45a64
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersDiagnoseVirtualNetwork.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "findings": [
+ "Outbound dependency 'Storage:443' might not be satisfied (Outbound)"
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersGet.json
new file mode 100644
index 000000000000..6fec1ce678d6
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "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",
+ "enableDiskEncryption": false,
+ "enableStreamingIngest": true,
+ "enablePurge": false,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V3"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ },
+ "etag": "abcd123"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersList.json
new file mode 100644
index 000000000000..d678a14f63c3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersList.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableDiskEncryption": false,
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V3"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "etag": "abcd123"
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableDiskEncryption": true,
+ "enableStreamingIngest": true,
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "etag": "abcd123"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersListByResourceGroup.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersListByResourceGroup.json
new file mode 100644
index 000000000000..c6458b49ecbb
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersListByResourceGroup.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableDiskEncryption": false,
+ "enableStreamingIngest": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ },
+ "engineType": "V2"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "etag": "abcd123"
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "enableDiskEncryption": true,
+ "enableStreamingIngest": true,
+ "engineType": "V3",
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "etag": "abcd123"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersListResourceSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersListResourceSkus.json
new file mode 100644
index 000000000000..e1b679b3ceef
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersListResourceSkus.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_D13_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_D14_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_L8s",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "Standard_L16s",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersListSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersListSkus.json
new file mode 100644
index 000000000000..8d436ea814b1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersListSkus.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_D13_v2",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "Standard_D14_v2",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "L8",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ },
+ {
+ "name": "L16",
+ "tier": "Standard",
+ "locations": [
+ "West US",
+ "West Europe"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US",
+ "zones": [
+ "1",
+ "2",
+ "3"
+ ]
+ },
+ {
+ "location": "West Europe",
+ "zones": []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersStart.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersStart.json
new file mode 100644
index 000000000000..a9aa10a71f03
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersStop.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersStop.json
new file mode 100644
index 000000000000..a9aa10a71f03
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersUpdate.json
new file mode 100644
index 000000000000..9b00a82d64f1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoClustersUpdate.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01",
+ "If-Match": "*",
+ "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",
+ "enableDiskEncryption": false,
+ "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": {}
+ },
+ "etag": "abcd123"
+ }
+ },
+ "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",
+ "enableDiskEncryption": false,
+ "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": {}
+ },
+ "etag": "abcd123"
+ }
+ },
+ "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",
+ "enableDiskEncryption": false,
+ "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": {}
+ },
+ "etag": "abcd123"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionValidationAsync.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionValidationAsync.json
new file mode 100644
index 000000000000..aaffbd065ee5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionValidationAsync.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "dataConnectionName": "DataConnections8",
+ "properties": {
+ "kind": "EventHub",
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "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/2021-01-01/examples/KustoDataConnectionsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsCheckNameAvailability.json
new file mode 100644
index 000000000000..3723219abdfa
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsCheckNameAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01",
+ "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/2021-01-01/examples/KustoDataConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsCreateOrUpdate.json
new file mode 100644
index 000000000000..c5743460891f
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsCreateOrUpdate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1",
+ "compression": "None"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1",
+ "compression": "None"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1",
+ "compression": "None"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsDelete.json
new file mode 100644
index 000000000000..6dfdcd5972b1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01",
+ "dataConnectionName": "kustoeventhubconnection1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsGet.json
new file mode 100644
index 000000000000..f7badd34886e
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01",
+ "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",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1",
+ "compression": "None"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsListByDatabase.json
new file mode 100644
index 000000000000..62377ddc0872
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsListByDatabase.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01"
+ },
+ "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",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1",
+ "compression": "None"
+ }
+ },
+ {
+ "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",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup2",
+ "compression": "None"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsUpdate.json
new file mode 100644
index 000000000000..c5743460891f
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDataConnectionsUpdate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1",
+ "compression": "None"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1",
+ "compression": "None"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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",
+ "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1",
+ "consumerGroup": "testConsumerGroup1",
+ "compression": "None"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseAddPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseAddPrincipals.json
new file mode 100644
index 000000000000..55d0e1fa0cba
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseAddPrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01",
+ "databasePrincipalsToAdd": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseListPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseListPrincipals.json
new file mode 100644
index 000000000000..c75aba18fc31
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseListPrincipals.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json
new file mode 100644
index 000000000000..800c11e08b09
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/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": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kustoprincipal1",
+ "nameAvailable": false,
+ "message": "Name 'kustoprincipal1' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json
new file mode 100644
index 000000000000..be4b391dbde5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/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/2021-01-01/examples/KustoDatabasePrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsDelete.json
new file mode 100644
index 000000000000..a4760e4090db
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsGet.json
new file mode 100644
index 000000000000..6d21c07b7e41
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2021-01-01"
+ },
+ "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/2021-01-01/examples/KustoDatabasePrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsList.json
new file mode 100644
index 000000000000..653625bbbdc5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasePrincipalAssignmentsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "api-version": "2021-01-01"
+ },
+ "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/2021-01-01/examples/KustoDatabaseReadonlyUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseReadonlyUpdate.json
new file mode 100644
index 000000000000..a39942b53be3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseReadonlyUpdate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoreadOnlyDatabase",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "location": "westus",
+ "kind": "ReadOnlyFollowing",
+ "properties": {
+ "hotCachePeriod": "P1D"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoreadOnlyDatabase",
+ "name": "KustoClusterRPTest4/KustoreadOnlyDatabase",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadOnlyFollowing",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoreadOnlyDatabase",
+ "name": "KustoClusterRPTest4/KustoreadOnlyDatabase",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadOnlyFollowing",
+ "properties": {
+ "hotCachePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoreadOnlyDatabase",
+ "name": "KustoClusterRPTest4/KustoreadOnlyDatabase",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadOnlyFollowing",
+ "properties": {
+ "hotCachePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseRemovePrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseRemovePrincipals.json
new file mode 100644
index 000000000000..51c428d756ae
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabaseRemovePrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01",
+ "databasePrincipalsToRemove": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesCheckNameAvailability.json
new file mode 100644
index 000000000000..667a957ad9a7
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesCheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2021-01-01",
+ "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/2021-01-01/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesCreateOrUpdate.json
new file mode 100644
index 000000000000..13cca8dc50bc
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesCreateOrUpdate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01",
+ "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"
+ }
+ },
+ "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/2021-01-01/examples/KustoDatabasesDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesDelete.json
new file mode 100644
index 000000000000..234ccea1ad10
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesGet.json
new file mode 100644
index 000000000000..654e328070e0
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01"
+ },
+ "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/2021-01-01/examples/KustoDatabasesListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesListByCluster.json
new file mode 100644
index 000000000000..0b583c40863c
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesListByCluster.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2021-01-01"
+ },
+ "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",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "hotCachePeriod": "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",
+ "kind": "ReadOnlyFollowing",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "hotCachePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesUpdate.json
new file mode 100644
index 000000000000..b98fc04174b1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoDatabasesUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "properties": {
+ "hotCachePeriod": "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": {
+ "hotCachePeriod": "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": {
+ "hotCachePeriod": "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": {
+ "hotCachePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoOperationResultsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoOperationResultsGet.json
new file mode 100644
index 000000000000..e7379093974c
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoOperationResultsGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "location": "westus",
+ "operationId": "30972f1b-b61d-4fd8-bd34-3dcfa24670f3",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationresults/30972f1b-b61d-4fd8-bd34-3dcfa24670f3",
+ "name": "30972f1b-b61d-4fd8-bd34-3dcfa24670f3",
+ "status": "Failed",
+ "startTime": "2020-10-26T13:45:39.6554616Z",
+ "endTime": "2020-10-26T13:45:42.7025301Z",
+ "percentComplete": 1.0,
+ "properties": {
+ "operationKind": "FollowerDatabaseCreate",
+ "operationState": "BadInput"
+ },
+ "error": {
+ "code": "CannotAlterFollowerDatabase",
+ "message": "[BadRequest] Cannot alter leader cluster 'test' for resource name 'adc'."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoOperationsList.json
new file mode 100644
index 000000000000..46064541b996
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "operationName",
+ "display": {
+ "provider": "providerName",
+ "resource": "resourceName",
+ "operation": "operationName",
+ "description": "operation description"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsCheckNameAvailability.json
new file mode 100644
index 000000000000..649488514407
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsCheckNameAvailability.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2021-01-01",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "db",
+ "scriptName": {
+ "name": "kustoScriptName1",
+ "type": "Microsoft.Kusto/clusters/databases/scripts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kustoScriptName1",
+ "nameAvailable": false,
+ "message": "Name 'kustoScriptName1' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsCreateOrUpdate.json
new file mode 100644
index 000000000000..e6f823171526
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsCreateOrUpdate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "scriptName": "kustoScript1",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt",
+ "scriptUrlSasToken": "?sv=2019-02-02&st=2019-04-29T22%3A18%3A26Z&se=2019-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=********************************",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/Scripts/kustoScript1",
+ "name": "KustoClusterRPTest4/KustoDatabase8/kustoScript1",
+ "type": "Microsoft.Kusto/Clusters/Databases/Scripts",
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/Scripts/kustoScript1",
+ "name": "KustoClusterRPTest4/KustoDatabase8/kustoScript1",
+ "type": "Microsoft.Kusto/Clusters/Databases/Scripts",
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/Scripts/kustoScript1",
+ "name": "KustoClusterRPTest4/KustoDatabase8/kustoScript1",
+ "type": "Microsoft.Kusto/Clusters/Databases/Scripts",
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsDelete.json
new file mode 100644
index 000000000000..0d970154f8af
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "scriptName": "kustoScript1",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsGet.json
new file mode 100644
index 000000000000..8714ff58807e
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "scriptName": "kustoScript1",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/Scripts/kustoScript1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoScript1",
+ "type": "Microsoft.Kusto/Clusters/Databases/Scripts",
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsListByDatabase.json
new file mode 100644
index 000000000000..83a617fb2889
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsListByDatabase.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/Scripts/kustoScript1",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoScript1",
+ "type": "Microsoft.Kusto/Clusters/Databases/Scripts",
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/Scripts/kustoScript2",
+ "name": "kustoclusterrptest4/Kustodatabase8/kustoScript2",
+ "type": "Microsoft.Kusto/Clusters/Databases/Scripts",
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script2.txt",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsUpdate.json
new file mode 100644
index 000000000000..b7b89b654455
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/examples/KustoScriptsUpdate.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "scriptName": "kustoScript1",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt",
+ "scriptUrlSasToken": "?sv=2019-02-02&st=2019-04-29T22%3A18%3A26Z&se=2019-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=********************************",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/Scripts/kustoScript1",
+ "name": "KustoClusterRPTest4/KustoDatabase8/kustoScript1",
+ "type": "Microsoft.Kusto/Clusters/Databases/Scripts",
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/Scripts/kustoScript1",
+ "name": "KustoClusterRPTest4/KustoDatabase8/kustoScript1",
+ "type": "Microsoft.Kusto/Clusters/Databases/Scripts",
+ "properties": {
+ "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt",
+ "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe",
+ "continueOnErrors": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/kusto.json
new file mode 100644
index 000000000000..c28870abff65
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/kusto.json
@@ -0,0 +1,4935 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KustoManagementClient",
+ "version": "2021-01-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "x-ms-examples": {
+ "KustoClustersGet": {
+ "$ref": "./examples/KustoClustersGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoClustersCreateOrUpdate": {
+ "$ref": "./examples/KustoClustersCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes."
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfNoneMatch",
+ "description": "Set to '*' to allow a new cluster to be created, but to prevent updating an existing cluster. Other values will result in a 412 Pre-condition Failed response."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully created the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "x-ms-examples": {
+ "KustoClustersUpdate": {
+ "$ref": "./examples/KustoClustersUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterUpdate"
+ },
+ "description": "The Kusto cluster parameters supplied to the Update operation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the cluster.",
+ "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"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParameter"
+ },
+ {
+ "name": "clusterName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterCheckNameRequest"
+ },
+ "description": "The name of the cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_CheckNameAvailability",
+ "x-ms-examples": {
+ "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": {
+ "Kusto ReadWrite database create or update": {
+ "$ref": "./examples/KustoDatabasesCreateOrUpdate.json"
+ },
+ "Kusto ReadOnly database update": {
+ "$ref": "./examples/KustoDatabaseReadonlyUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Updates a database.",
+ "operationId": "Databases_Update",
+ "x-ms-examples": {
+ "KustoDatabasesUpdate": {
+ "$ref": "./examples/KustoDatabasesUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the database.",
+ "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}/databases/{databaseName}/scripts": {
+ "get": {
+ "tags": [
+ "scripts"
+ ],
+ "operationId": "Scripts_ListByDatabase",
+ "x-ms-examples": {
+ "KustoScriptsList": {
+ "$ref": "./examples/KustoScriptsListByDatabase.json"
+ }
+ },
+ "description": "Returns the list of database scripts for given database.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list result of Kusto database scripts.",
+ "schema": {
+ "$ref": "#/definitions/ScriptListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts/{scriptName}": {
+ "get": {
+ "tags": [
+ "Scripts"
+ ],
+ "operationId": "Scripts_Get",
+ "x-ms-examples": {
+ "KustoScriptsGet": {
+ "$ref": "./examples/KustoScriptsGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster database script.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster database script object.",
+ "schema": {
+ "$ref": "#/definitions/Script"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Scripts"
+ ],
+ "operationId": "Scripts_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoScriptsCreateOrUpdate": {
+ "$ref": "./examples/KustoScriptsCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates a Kusto database script.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Script"
+ },
+ "description": "The Kusto Script parameters contains the KQL to run."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Script.",
+ "schema": {
+ "$ref": "#/definitions/Script"
+ }
+ },
+ "201": {
+ "description": "Successfully created the script.",
+ "schema": {
+ "$ref": "#/definitions/Script"
+ }
+ },
+ "202": {
+ "description": "Successfully accepted the Script.",
+ "schema": {
+ "$ref": "#/definitions/Script"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Scripts"
+ ],
+ "operationId": "Scripts_Update",
+ "x-ms-examples": {
+ "KustoScriptsUpdate": {
+ "$ref": "./examples/KustoScriptsUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Updates a database script.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Script"
+ },
+ "description": "The Kusto Script parameters contains to the KQL to run."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database script.",
+ "schema": {
+ "$ref": "#/definitions/Script"
+ }
+ },
+ "202": {
+ "description": "Accepted the update request of the database script.",
+ "schema": {
+ "$ref": "#/definitions/Script"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Scripts"
+ ],
+ "operationId": "Scripts_Delete",
+ "x-ms-examples": {
+ "KustoScriptsDelete": {
+ "$ref": "./examples/KustoScriptsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScriptNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Script deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete Script request."
+ },
+ "204": {
+ "description": "NoContent -- If the Script resource is already deleted, this is the expected status code."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/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}/scriptsCheckNameAvailability": {
+ "post": {
+ "tags": [
+ "Scripts"
+ ],
+ "operationId": "Scripts_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoScriptsCheckNameAvailability": {
+ "$ref": "./examples/KustoScriptsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the script name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "scriptName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScriptCheckNameRequest"
+ },
+ "description": "The name of the script."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the Kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns a data connection.",
+ "operationId": "DataConnections_Get",
+ "x-ms-examples": {
+ "KustoDataConnectionsGet": {
+ "$ref": "./examples/KustoDataConnectionsGet.json"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/operationresults/{operationId}": {
+ "get": {
+ "tags": [
+ "OperationResults"
+ ],
+ "description": "Returns operation results.",
+ "operationId": "OperationsResults_Get",
+ "x-ms-examples": {
+ "KustoOperationResultsGet": {
+ "$ref": "./examples/KustoOperationResultsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the operation result.",
+ "schema": {
+ "$ref": "#/definitions/OperationResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterProperties": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the resource.",
+ "enum": [
+ "Creating",
+ "Unavailable",
+ "Running",
+ "Deleting",
+ "Deleted",
+ "Stopping",
+ "Stopped",
+ "Starting",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ },
+ "uri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster URI."
+ },
+ "dataIngestionUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster data ingestion URI."
+ },
+ "stateReason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The reason for the cluster's current state."
+ },
+ "trustedExternalTenants": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrustedExternalTenant"
+ },
+ "description": "The cluster's external tenants."
+ },
+ "optimizedAutoscale": {
+ "type": "object",
+ "$ref": "#/definitions/OptimizedAutoscale",
+ "description": "Optimized auto scale definition."
+ },
+ "enableDiskEncryption": {
+ "description": "A boolean value that indicates if the cluster's disks are encrypted.",
+ "default": false,
+ "type": "boolean"
+ },
+ "enableStreamingIngest": {
+ "description": "A boolean value that indicates if the streaming ingest is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "virtualNetworkConfiguration": {
+ "type": "object",
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network definition."
+ },
+ "keyVaultProperties": {
+ "type": "object",
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "KeyVault properties for the cluster encryption."
+ },
+ "enablePurge": {
+ "description": "A boolean value that indicates if the purge operations are enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "languageExtensions": {
+ "type": "object",
+ "$ref": "#/definitions/LanguageExtensionsList",
+ "readOnly": true,
+ "description": "List of the cluster's language extensions."
+ },
+ "enableDoubleEncryption": {
+ "description": "A boolean value that indicates if double encryption is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "engineType": {
+ "type": "string",
+ "description": "The engine type",
+ "enum": [
+ "V2",
+ "V3"
+ ],
+ "x-ms-enum": {
+ "name": "EngineType",
+ "modelAsString": true
+ },
+ "default": "V3"
+ }
+ },
+ "description": "Class representing the Kusto cluster properties."
+ },
+ "TrustedExternalTenant": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "GUID representing an external tenant."
+ }
+ },
+ "description": "Represents a tenant ID that is trusted by the cluster."
+ },
+ "AzureResourceSku": {
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Namespace and Type."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU details."
+ },
+ "capacity": {
+ "$ref": "#/definitions/AzureCapacity",
+ "description": "The number of instances of the cluster."
+ }
+ },
+ "description": "Azure resource SKU definition."
+ },
+ "AzureCapacity": {
+ "type": "object",
+ "required": [
+ "minimum",
+ "maximum",
+ "default",
+ "scaleType"
+ ],
+ "properties": {
+ "scaleType": {
+ "description": "Scale type.",
+ "type": "string",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "AzureScaleType",
+ "modelAsString": true
+ }
+ },
+ "minimum": {
+ "description": "Minimum allowed capacity.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "maximum": {
+ "description": "Maximum allowed capacity.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "default": {
+ "description": "The default capacity that would be used.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "description": "Azure capacity definition."
+ },
+ "SkuDescriptionList": {
+ "description": "The list of the EngagementFabric SKU descriptions",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "SKU descriptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuDescription"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuDescription": {
+ "description": "The Kusto SKU description of given resource type",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The tier of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The set of locations that the SKU is available",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Locations and zones",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfoItem"
+ },
+ "readOnly": true
+ },
+ "restrictions": {
+ "description": "The restrictions because of which SKU cannot be used",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfoItem": {
+ "description": "The locations and zones info for SKU.",
+ "type": "object",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "description": "The available location of the SKU.",
+ "type": "string"
+ },
+ "zones": {
+ "description": "The available zone of the SKU.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureSku": {
+ "type": "object",
+ "required": [
+ "name",
+ "tier"
+ ],
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "type": "string",
+ "enum": [
+ "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_L8s_v2",
+ "Standard_L16s_v2",
+ "Standard_D11_v2",
+ "Standard_D12_v2",
+ "Standard_L4s",
+ "Dev(No SLA)_Standard_D11_v2",
+ "Standard_E64i_v3",
+ "Standard_E80ids_v4",
+ "Standard_E2a_v4",
+ "Standard_E4a_v4",
+ "Standard_E8a_v4",
+ "Standard_E16a_v4",
+ "Standard_E8as_v4+1TB_PS",
+ "Standard_E8as_v4+2TB_PS",
+ "Standard_E16as_v4+3TB_PS",
+ "Standard_E16as_v4+4TB_PS",
+ "Dev(No SLA)_Standard_E2a_v4"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuName",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "description": "The number of instances of the cluster.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "tier": {
+ "description": "SKU tier.",
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Azure SKU definition."
+ },
+ "Zones": {
+ "description": "An array represents the availability zones of the cluster.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "OptimizedAutoscale": {
+ "type": "object",
+ "required": [
+ "version",
+ "isEnabled",
+ "minimum",
+ "maximum"
+ ],
+ "properties": {
+ "version": {
+ "description": "The version of the template defined, for instance 1.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "isEnabled": {
+ "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.",
+ "type": "boolean"
+ },
+ "minimum": {
+ "description": "Minimum allowed instances count.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "maximum": {
+ "description": "Maximum allowed instances count.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "description": "A class that contains the optimized auto scale definition."
+ },
+ "VirtualNetworkConfiguration": {
+ "type": "object",
+ "required": [
+ "subnetId",
+ "enginePublicIpId",
+ "dataManagementPublicIpId"
+ ],
+ "properties": {
+ "subnetId": {
+ "description": "The subnet resource id.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "enginePublicIpId": {
+ "description": "Engine service's public IP address resource id.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "dataManagementPublicIpId": {
+ "description": "Data management's service public IP address resource id.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ }
+ },
+ "description": "A class that contains virtual network definition."
+ },
+ "DatabaseStatistics": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "size": {
+ "type": "number",
+ "description": "The database size - the total size of compressed data and index in bytes."
+ }
+ },
+ "description": "A class that contains database statistics information."
+ },
+ "AttachedDatabaseConfigurationProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases."
+ },
+ "clusterResourceId": {
+ "type": "string",
+ "description": "The resource id of the cluster where the databases you would like to attach reside."
+ },
+ "attachedDatabaseNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "The list of databases from the clusterResourceId which are currently attached to the cluster."
+ },
+ "defaultPrincipalsModificationKind": {
+ "type": "string",
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultPrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The default principals modification kind"
+ },
+ "tableLevelSharingProperties": {
+ "type": "object",
+ "$ref": "#/definitions/TableLevelSharingProperties",
+ "description": "Table level sharing specifications"
+ }
+ },
+ "description": "Class representing the an attached database configuration properties of kind specific.",
+ "required": [
+ "databaseName",
+ "clusterResourceId",
+ "defaultPrincipalsModificationKind"
+ ]
+ },
+ "ReadWriteDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "description": "The statistics of the database."
+ },
+ "isFollowed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates whether the database is followed."
+ }
+ },
+ "description": "Class representing the Kusto database properties."
+ },
+ "ReadOnlyFollowingDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "readOnly": true,
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "description": "The statistics of the database."
+ },
+ "leaderClusterResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the leader cluster"
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the attached database configuration cluster"
+ },
+ "principalsModificationKind": {
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The principals modification kind of the database"
+ }
+ },
+ "description": "Class representing the Kusto database properties."
+ },
+ "EventHubConnectionProperties": {
+ "properties": {
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The resource ID of the event hub to be used to create a data connection."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The event hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/EventHubDataFormat",
+ "description": "The data format of the message. Optionally the data format can be added to each message."
+ },
+ "eventSystemProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "System properties of the event hub"
+ },
+ "compression": {
+ "$ref": "#/definitions/Compression",
+ "description": "The event hub messages compression type"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ },
+ "managedIdentityResourceId": {
+ "type": "string",
+ "description": "The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub."
+ }
+ },
+ "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": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ }
+ },
+ "required": [
+ "iotHubResourceId",
+ "consumerGroup",
+ "sharedAccessPolicyName"
+ ],
+ "description": "Class representing the Kusto Iot hub connection properties."
+ },
+ "EventHubDataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO",
+ "TSVE",
+ "PARQUET",
+ "ORC",
+ "APACHEAVRO",
+ "W3CLOGFILE"
+ ],
+ "x-ms-enum": {
+ "name": "eventHubDataFormat",
+ "modelAsString": true
+ }
+ },
+ "IotHubDataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO",
+ "TSVE",
+ "PARQUET",
+ "ORC",
+ "APACHEAVRO",
+ "W3CLOGFILE"
+ ],
+ "x-ms-enum": {
+ "name": "iotHubDataFormat",
+ "modelAsString": true
+ }
+ },
+ "EventGridDataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO",
+ "TSVE",
+ "PARQUET",
+ "ORC",
+ "APACHEAVRO",
+ "W3CLOGFILE"
+ ],
+ "x-ms-enum": {
+ "name": "eventGridDataFormat",
+ "modelAsString": true
+ }
+ },
+ "BlobStorageEventType": {
+ "description": "The name of blob storage event type to process.",
+ "type": "string",
+ "enum": [
+ "Microsoft.Storage.BlobCreated",
+ "Microsoft.Storage.BlobRenamed"
+ ],
+ "x-ms-enum": {
+ "name": "blobStorageEventType",
+ "modelAsString": true
+ }
+ },
+ "Compression": {
+ "description": "The compression type",
+ "type": "string",
+ "enum": [
+ "None",
+ "GZip"
+ ],
+ "x-ms-enum": {
+ "name": "compression",
+ "modelAsString": true
+ },
+ "default": "None"
+ },
+ "EventGridConnectionProperties": {
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "The resource ID of the storage account where the data resides."
+ },
+ "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": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ }
+ },
+ "required": [
+ "storageAccountResourceId",
+ "eventHubResourceId",
+ "consumerGroup"
+ ],
+ "description": "Class representing the Kusto event grid connection properties."
+ },
+ "Cluster": {
+ "required": [
+ "sku"
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "zones": {
+ "$ref": "#/definitions/Zones",
+ "description": "The availability zones of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterProperties",
+ "description": "The cluster properties."
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Class representing a Kusto cluster."
+ },
+ "ClusterUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The cluster properties.",
+ "$ref": "#/definitions/ClusterProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Class representing an update to a Kusto cluster."
+ },
+ "AttachedDatabaseConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The list of attached database configurations."
+ }
+ },
+ "description": "The list attached database configurations operation response."
+ },
+ "AttachedDatabaseConfiguration": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the attached database configuration.",
+ "$ref": "#/definitions/AttachedDatabaseConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an attached database configuration."
+ },
+ "Database": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the database",
+ "enum": [
+ "ReadWrite",
+ "ReadOnlyFollowing"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a Kusto database.",
+ "discriminator": "kind"
+ },
+ "ReadWriteDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadWriteDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read write database.",
+ "x-ms-discriminator-value": "ReadWrite"
+ },
+ "ReadOnlyFollowingDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read only following database.",
+ "x-ms-discriminator-value": "ReadOnlyFollowing"
+ },
+ "DatabasePrincipal": {
+ "type": "object",
+ "required": [
+ "name",
+ "role",
+ "type"
+ ],
+ "properties": {
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewer",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Database principal name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Database principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalType",
+ "modelAsString": true
+ }
+ },
+ "fqn": {
+ "description": "Database principal fully qualified name.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Database principal email if exists.",
+ "type": "string"
+ },
+ "appId": {
+ "description": "Application id - relevant only for application principal type.",
+ "type": "string"
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ }
+ },
+ "description": "A class representing database principal entity."
+ },
+ "DatabasePrincipalProperties": {
+ "type": "object",
+ "required": [
+ "principalId",
+ "role",
+ "principalType"
+ ],
+ "properties": {
+ "principalId": {
+ "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewer",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenant id of the principal"
+ },
+ "principalType": {
+ "description": "Principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The principal name"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ }
+ },
+ "description": "A class representing database principal property."
+ },
+ "ClusterPrincipalProperties": {
+ "type": "object",
+ "required": [
+ "principalId",
+ "role",
+ "principalType"
+ ],
+ "properties": {
+ "principalId": {
+ "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Cluster principal role.",
+ "type": "string",
+ "enum": [
+ "AllDatabasesAdmin",
+ "AllDatabasesViewer"
+ ],
+ "x-ms-enum": {
+ "name": "ClusterPrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenant id of the principal"
+ },
+ "principalType": {
+ "description": "Principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The principal name"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ }
+ },
+ "description": "A class representing cluster principal property."
+ },
+ "ScriptProperties": {
+ "type": "object",
+ "required": [
+ "scriptUrl",
+ "scriptUrlSasToken"
+ ],
+ "properties": {
+ "scriptUrl": {
+ "description": "The url to the KQL script blob file.",
+ "type": "string"
+ },
+ "scriptUrlSasToken": {
+ "description": "The SaS token.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ],
+ "x-ms-secret": true
+ },
+ "forceUpdateTag": {
+ "description": "A unique string. If changed the script will be applied again.",
+ "type": "string"
+ },
+ "continueOnErrors": {
+ "description": "Flag that indicates whether to continue if one of the command fails.",
+ "type": "boolean",
+ "default": false
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "description": "The provisioned state of the resource."
+ }
+ },
+ "description": "A class representing database script 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."
+ },
+ "ScriptListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Script"
+ },
+ "description": "The list of Kusto scripts."
+ }
+ },
+ "description": "The list Kusto database script operation response."
+ },
+ "Script": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScriptProperties",
+ "description": "The database script."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a database script."
+ },
+ "ClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The list of Kusto clusters."
+ }
+ },
+ "description": "The list Kusto clusters operation response."
+ },
+ "DatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The list of Kusto databases."
+ }
+ },
+ "description": "The list Kusto databases operation response."
+ },
+ "DatabasePrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ },
+ "description": "The list of Kusto database principal assignments."
+ }
+ },
+ "description": "The list Kusto database principal assignments operation response."
+ },
+ "ClusterPrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ },
+ "description": "The list of Kusto cluster principal assignments."
+ }
+ },
+ "description": "The list Kusto cluster principal assignments operation response."
+ },
+ "DatabasePrincipalListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "FollowerDatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The list of follower database result."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "DataConnection": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the endpoint for the data connection",
+ "enum": [
+ "EventHub",
+ "EventGrid",
+ "IotHub"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataConnectionKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an data connection.",
+ "discriminator": "kind"
+ },
+ "DataConnectionValidationResult": {
+ "type": "object",
+ "properties": {
+ "errorMessage": {
+ "type": "string",
+ "description": "A message which indicates a problem in data connection validation."
+ }
+ },
+ "description": "The result returned from a data connection validation request."
+ },
+ "DatabasePrincipalListRequest": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation request."
+ },
+ "FollowerDatabaseDefinition": {
+ "type": "object",
+ "required": [
+ "clusterResourceId",
+ "attachedDatabaseConfigurationName"
+ ],
+ "properties": {
+ "clusterResourceId": {
+ "type": "string",
+ "description": "Resource id of the cluster that follows a database owned by this cluster."
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "description": "Resource name of the attached database configuration in the follower cluster."
+ },
+ "databaseName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The database name owned by this cluster that was followed. * in case following all databases."
+ }
+ },
+ "description": "A class representing follower database request."
+ },
+ "DiagnoseVirtualNetworkResult": {
+ "properties": {
+ "findings": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of network connectivity diagnostic finding"
+ }
+ }
+ },
+ "DataConnectionValidation": {
+ "properties": {
+ "dataConnectionName": {
+ "type": "string",
+ "description": "The name of the data connection."
+ },
+ "properties": {
+ "$ref": "#/definitions/DataConnection",
+ "description": "The data connection properties to validate."
+ }
+ },
+ "description": "Class representing an data connection validation."
+ },
+ "EventHubDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The Event Hub data connection properties to validate.",
+ "$ref": "#/definitions/EventHubConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an event hub data connection.",
+ "x-ms-discriminator-value": "EventHub"
+ },
+ "IotHubDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The Iot Hub data connection properties.",
+ "$ref": "#/definitions/IotHubConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an iot hub data connection.",
+ "x-ms-discriminator-value": "IotHub"
+ },
+ "EventGridDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the Event Grid data connection.",
+ "$ref": "#/definitions/EventGridConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an Event Grid data connection.",
+ "x-ms-discriminator-value": "EventGrid"
+ },
+ "DataConnectionValidationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataConnectionValidationResult"
+ },
+ "description": "The list of Kusto data connection validation errors."
+ }
+ },
+ "description": "The list Kusto data connection validation result."
+ },
+ "DataConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The list of Kusto data connections."
+ }
+ },
+ "description": "The list Kusto data connections operation response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "An error response from Kusto."
+ }
+ },
+ "description": "An error response from Kusto."
+ },
+ "ClusterCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Cluster name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters"
+ ],
+ "x-ms-enum": {
+ "name": "ClusterType",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a cluster check name availability request."
+ },
+ "CheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases",
+ "Microsoft.Kusto/clusters/attachedDatabaseConfigurations"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a database check name availability request."
+ },
+ "ClusterPrincipalAssignmentCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Principal Assignment resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/principalAssignments"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalAssignmentType",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A principal assignment check name availability request."
+ },
+ "DataConnectionCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Data Connection name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases/dataConnections"
+ ],
+ "x-ms-enum": {
+ "name": "DataConnectionType",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A data connection check name availability request."
+ },
+ "ScriptCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Script name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases/scripts"
+ ],
+ "x-ms-enum": {
+ "name": "ScriptType",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases/scripts."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A script name availability request."
+ },
+ "DatabasePrincipalAssignmentCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Principal Assignment resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases/principalAssignments"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalAssignmentType",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A principal assignment check name availability request."
+ },
+ "CheckNameResult": {
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Specifies a Boolean value that indicates if the name is available."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name that was checked."
+ },
+ "message": {
+ "type": "string",
+ "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated."
+ },
+ "reason": {
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "reason",
+ "modelAsString": true
+ },
+ "description": "Message providing the reason why the given name is invalid."
+ }
+ },
+ "description": "The result returned from a check name availability request."
+ },
+ "ListResourceSkusResult": {
+ "description": "List of available SKUs for a Kusto Cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureResourceSku"
+ },
+ "description": "The collection of available SKUs for an existing resource."
+ }
+ }
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for displaying in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from Kusto."
+ },
+ "OperationListResult": {
+ "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "title": "The list of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "title": "A REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "The operation name.",
+ "description": "This is of the format {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "title": "The object that describes the operation.",
+ "properties": {
+ "provider": {
+ "title": "Friendly name of the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "title": "The operation type.",
+ "description": "For example: read, write, delete.",
+ "type": "string"
+ },
+ "resource": {
+ "title": "The resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "description": {
+ "title": "The friendly name of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "title": "The intended executor of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "title": "Properties of the operation.",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Identity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Identity for the resource."
+ },
+ "KeyVaultProperties": {
+ "description": "Properties of the key vault.",
+ "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."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "OperationResult": {
+ "description": "Operation Result Entity.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "description": "ID of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "readOnly": true,
+ "description": "Name of the resource.",
+ "type": "string"
+ },
+ "status": {
+ "description": "status of the Operation result.",
+ "$ref": "#/definitions/Status"
+ },
+ "startTime": {
+ "description": "The operation start time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The operation end time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "percentComplete": {
+ "type": "number",
+ "format": "double",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Percentage completed."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationResultProperties",
+ "description": "Properties of the operation results"
+ },
+ "error": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationResultErrorProperties",
+ "description": "Object that contains the error code and message if the operation failed."
+ }
+ }
+ },
+ "Status": {
+ "readOnly": true,
+ "description": "The status of operation.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "Running"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ },
+ "OperationResultProperties": {
+ "properties": {
+ "operationKind": {
+ "type": "string",
+ "description": "The kind of the operation."
+ },
+ "operationState": {
+ "type": "string",
+ "description": "The state of the operation."
+ }
+ },
+ "description": "Operation result properties"
+ },
+ "OperationResultErrorProperties": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The code of the error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Operation result error properties"
+ },
+ "TableLevelSharingProperties": {
+ "properties": {
+ "tablesToInclude": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of tables to include in the follower database"
+ },
+ "tablesToExclude": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of tables to exclude from the follower database"
+ },
+ "externalTablesToInclude": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of external tables to include in the follower database"
+ },
+ "externalTablesToExclude": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of external tables exclude from the follower database"
+ },
+ "materializedViewsToInclude": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of materialized views to include in the follower database"
+ },
+ "materializedViewsToExclude": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of materialized views exclude from the follower database"
+ }
+ },
+ "description": "Tables that will be included and excluded in the follower database"
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "description": "The name of the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationNameParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "Azure location (region) name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachedDatabaseConfigurationNameParameter": {
+ "name": "attachedDatabaseConfigurationName",
+ "in": "path",
+ "description": "The name of the attached database configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group containing the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database in the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DataConnectionNameParameter": {
+ "name": "dataConnectionName",
+ "in": "path",
+ "description": "The name of the data connection.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PrincipalAssignmentNameParameter": {
+ "name": "principalAssignmentName",
+ "in": "path",
+ "description": "The name of the Kusto principalAssignment.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ScriptNameParameter": {
+ "name": "scriptName",
+ "in": "path",
+ "description": "The name of the Kusto database script.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "description": "The Guid of the operation ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md
index 53a36056359e..e8b24722e1c3 100644
--- a/specification/azure-kusto/resource-manager/readme.go.md
+++ b/specification/azure-kusto/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: kusto
clear-output-folder: true
```
diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index c02cb62ac581..2a0b83c01e90 100644
--- a/specification/azure-kusto/resource-manager/readme.md
+++ b/specification/azure-kusto/resource-manager/readme.md
@@ -28,18 +28,27 @@ 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-09-18
+tag: package-2021-01
```
+### Tag: package-2021-01
+
+These settings apply only when `--tag=package-2021-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-01'
+input-file:
+ - Microsoft.Kusto/stable/2021-01-01/kusto.json
+```
### 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'
+``` 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.
diff --git a/specification/azureactivedirectory/resource-manager/readme.go.md b/specification/azureactivedirectory/resource-manager/readme.go.md
index 481bfe010359..121aa76ab04c 100644
--- a/specification/azureactivedirectory/resource-manager/readme.go.md
+++ b/specification/azureactivedirectory/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: aad
clear-output-folder: true
```
diff --git a/specification/azuredata/resource-manager/readme.go.md b/specification/azuredata/resource-manager/readme.go.md
index 844b0ee468c8..7fa9aea5d573 100644
--- a/specification/azuredata/resource-manager/readme.go.md
+++ b/specification/azuredata/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: azuredata
```
diff --git a/specification/azurestack/resource-manager/readme.go.md b/specification/azurestack/resource-manager/readme.go.md
index 6f8306627a08..be1be7876a38 100644
--- a/specification/azurestack/resource-manager/readme.go.md
+++ b/specification/azurestack/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: azurestack
```
diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md
index 3786abef6da1..a829d15139f3 100644
--- a/specification/azurestack/resource-manager/readme.md
+++ b/specification/azurestack/resource-manager/readme.md
@@ -97,6 +97,7 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/azurestack/resource-manager/readme.python.md b/specification/azurestack/resource-manager/readme.python.md
index c2339e41165a..9a4e4bef6073 100644
--- a/specification/azurestack/resource-manager/readme.python.md
+++ b/specification/azurestack/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -15,14 +15,31 @@ python:
package-version: 0.1.0
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.azurestack
+package-name: azure-mgmt-azurestack
+package-version: 0.1.0
+clear-output-folder: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack/azure/mgmt/azurestack
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack
```
-
\ No newline at end of file
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack/azure/mgmt/azurestack
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack
+```
\ No newline at end of file
diff --git a/specification/azurestackhci/resource-manager/readme.go.md b/specification/azurestackhci/resource-manager/readme.go.md
index 6d7b9a0233d3..a7f05b7c4929 100644
--- a/specification/azurestackhci/resource-manager/readme.go.md
+++ b/specification/azurestackhci/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.go.md b/specification/baremetalinfrastructure/resource-manager/readme.go.md
index 1677cc7854ec..3944151a092b 100644
--- a/specification/baremetalinfrastructure/resource-manager/readme.go.md
+++ b/specification/baremetalinfrastructure/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
diff --git a/specification/batch/data-plane/readme.go.md b/specification/batch/data-plane/readme.go.md
index 5b29ca656d0a..280a31def094 100644
--- a/specification/batch/data-plane/readme.go.md
+++ b/specification/batch/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: batch
```
diff --git a/specification/batch/resource-manager/readme.go.md b/specification/batch/resource-manager/readme.go.md
index 39f4c0bb8b41..e209c4d48fa6 100644
--- a/specification/batch/resource-manager/readme.go.md
+++ b/specification/batch/resource-manager/readme.go.md
@@ -6,7 +6,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: batch
clear-output-folder: true
```
diff --git a/specification/batchai/resource-manager/readme.go.md b/specification/batchai/resource-manager/readme.go.md
index f39789d1ee1b..b72de716abdf 100644
--- a/specification/batchai/resource-manager/readme.go.md
+++ b/specification/batchai/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: batchai
```
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json
new file mode 100644
index 000000000000..71d5830f954e
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json
@@ -0,0 +1,454 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-11-01-preview",
+ "title": "BillingManagementClient",
+ "description": "Billing client provides access to billing resources for Azure subscriptions."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Billing/promotions/{promotionId}": {
+ "put": {
+ "summary": "Activate promotion",
+ "description": "Activate promotion and create promotion resource.",
+ "operationId": "Activate_Promotion",
+ "x-ms-examples": {
+ "PromotionActivation": {
+ "$ref": "./examples/PromotionActivation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/promotionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PromotionCreateRequest"
+ },
+ "description": "Request parameters that are provided to activate the promotion."
+ }
+ ],
+ "tags": [
+ "Promotion, Activate"
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource has been created",
+ "schema": {
+ "$ref": "#/definitions/PromotionResponse"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "summary": "Get a specific Promotion.",
+ "description": "Get the details of the `Promotion`.",
+ "operationId": "Promotion_Get",
+ "x-ms-examples": {
+ "GetPromotion": {
+ "$ref": "./examples/PromotionDetails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/promotionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Promotion"
+ ],
+ "responses": {
+ "200": {
+ "description": "Details of the `Promotion`.",
+ "schema": {
+ "$ref": "#/definitions/PromotionResponse"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/promotions": {
+ "get": {
+ "summary": "Get all `Promotion`s.",
+ "description": "List of all the `Promotion`s that the user has access.",
+ "operationId": "Promotions_List",
+ "x-ms-examples": {
+ "PromotionList": {
+ "$ref": "./examples/GetPromotions.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "tags": [
+ "Promotion"
+ ],
+ "responses": {
+ "200": {
+ "description": "List of `Promotion`s",
+ "schema": {
+ "$ref": "#/definitions/PromotionList"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/promotions/{promotionSkuId}/checkEligibility": {
+ "get": {
+ "tags": [
+ "Promotion_CheckEligibility"
+ ],
+ "operationId": "Promotion_CheckEligibility",
+ "description": "Checks the eligibility of a subscription for all active promotions.",
+ "x-ms-examples": {
+ "PromotionCheckEligibility": {
+ "$ref": "./examples/PromotionCheckEligibility.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/promotionSkuId"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/PromotionCheckEligibilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PromotionCreateRequest": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "sku": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PromotionCreateSkuNameRequestProperties"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PromotionCreateRequestProperties"
+ }
+ }
+ },
+ "PromotionCreateSkuNameRequestProperties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "SKU Name of the promotion to activate"
+ }
+ }
+ },
+ "PromotionCreateRequestProperties": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Friendly name for user to easily identified the promotion."
+ },
+ "appliedScopes": {
+ "$ref": "#/definitions/AppliedScopes",
+ "description": "List of subscriptions getting the benefit of the promotion."
+ },
+ "orderId": {
+ "type": "string",
+ "description": "Unique Id for the promotion order."
+ }
+ }
+ },
+ "PromotionList": {
+ "description": "The list of promotions.",
+ "properties": {
+ "value": {
+ "description": "The list of promotions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PromotionResponse"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PromotionResponse": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "etag": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Identifier of the promotion"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the promotion"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PromotionResponseProperties"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of resource. \"Microsoft.Billing/Promotions\""
+ }
+ }
+ },
+ "PromotionResponseProperties": {
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Friendly name for user to easily identified the promotion."
+ },
+ "effectiveDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "This is the DateTime when the promotion would come in effect"
+ },
+ "lastUpdatedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last update time of the promotion resource."
+ },
+ "expiryDate": {
+ "type": "string",
+ "format": "date",
+ "description": "This is the date when the Reservation will expire."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Current state of the promotion."
+ },
+ "appliedScopes": {
+ "$ref": "#/definitions/AppliedScopes",
+ "description": "List of subscriptions getting the benefit of the promotion."
+ }
+ }
+ },
+ "AppliedScopes": {
+ "type": "array",
+ "description": "List of the subscriptions that the benefit will be applied.",
+ "items": {
+ "type": "string",
+ "minItems": 1,
+ "maxItems": 1
+ }
+ },
+ "PromotionCheckEligibilityResponse": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PromotionCheckEligibilityResponseProperties"
+ }
+ }
+ },
+ "PromotionCheckEligibilityResponseProperties": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the promotion"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the promotion"
+ },
+ "eligible": {
+ "type": "boolean",
+ "description": "Specifies whether the subscription is eligible for the promotion"
+ },
+ "reason": {
+ "type": "string",
+ "description": "Reason in case the subscription is not eligible for promotion."
+ },
+ "eligibilitySubscriptionId": {
+ "type": "string",
+ "description": "Subscription Id on which the eligibility check was performed."
+ },
+ "expiryDate": {
+ "type": "string",
+ "format": "date",
+ "description": "Date till when the promotion is available."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "The target of the particular error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The sub details of the error.",
+ "readOnly": true,
+ "$ref": "#/definitions/ErrorSubDetails"
+ }
+ }
+ },
+ "ErrorSubDetails": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "The target of the particular error.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The version of the API to be used with the client request. The current version is 2019-10-01-preview."
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The ID that uniquely identifies an Azure subscription.",
+ "required": true,
+ "type": "string"
+ },
+ "promotionIdParameter": {
+ "name": "promotionId",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Promotion Id"
+ },
+ "promotionSkuId": {
+ "name": "promotionSkuId",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Promotion Sku Id"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/GetPromotions.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/GetPromotions.json
new file mode 100644
index 000000000000..b3661f72cdc0
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/GetPromotions.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/providers/Microsoft.Billing/promotions/105363ba-c9e4-421e-a630-4968bdc3f217",
+ "type": "Microsoft.Billing/promotions",
+ "name": "105363ba-c9e4-421e-a630-4968bdc3f217",
+ "etag": 1,
+ "properties": {
+ "appliedScopes": [
+ "/subscriptions/a4f60096-7846-4c87-9143-771e73ae26ce"
+ ],
+ "provisioningState": "Creating",
+ "displayName": "test-promo1",
+ "effectiveDateTime": "2020-10-19T21:03:19.9905904Z",
+ "lastUpdatedDateTime": "2020-10-19T21:03:19.9905904Z",
+ "expiryDate": "2021-01-31"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/PromotionActivation.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/PromotionActivation.json
new file mode 100644
index 000000000000..0c6e578d3e2f
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/PromotionActivation.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2020-11-01-preview",
+ "promotionId": "ff0f1add-122a-43c1-a2ec-c2277781667d",
+ "parameters": {
+ "sku": {
+ "name": "wvd_promo_30p"
+ },
+ "properties": {
+ "appliedScopes": [
+ "/subscriptions/f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3"
+ ],
+ "displayName": "promotion-displayname",
+ "orderId": "ff0f1add-122a-43c1-a2ec-c2277781667d"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/promotions/ff0f1add-122a-43c1-a2ec-c2277781667d",
+ "type": "Microsoft.Billing/promotions",
+ "name": "ff0f1add-122a-43c1-a2ec-c2277781667d",
+ "properties": {
+ "appliedScopes": [
+ "/subscriptions/a4f60096-7846-4c87-9143-771e73ae26ce"
+ ],
+ "provisioningState": "Succeeded",
+ "expiryDate": "2021-02-01",
+ "displayName": "promotion-displayname",
+ "effectiveDateTime": "2020-11-03T02:26:53.0006733Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/PromotionCheckEligibility.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/PromotionCheckEligibility.json
new file mode 100644
index 000000000000..dff19b032a57
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/PromotionCheckEligibility.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-11-01-preview",
+ "promotionSkuId": "wvd_promo_30p",
+ "subscriptionId": "f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "id": "wvd_promo_30p",
+ "name": "WVD 30 percent off",
+ "eligible": true,
+ "reason": "None",
+ "eligibilitySubscriptionId": "f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3",
+ "expiryDate": "2021-10-01"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/PromotionDetails.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/PromotionDetails.json
new file mode 100644
index 000000000000..28d606d89469
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/examples/PromotionDetails.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-11-01-preview",
+ "promotionId": "{promotionId}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/promotions/105363ba-c9e4-421e-a630-4968bdc3f217",
+ "type": "Microsoft.Billing/promotions",
+ "name": "105363ba-c9e4-421e-a630-4968bdc3f217",
+ "etag": 1,
+ "properties": {
+ "appliedScopes": [
+ "/subscriptions/a4f60096-7846-4c87-9143-771e73ae26ce"
+ ],
+ "provisioningState": "Creating",
+ "displayName": "test-promo1",
+ "effectiveDateTime": "2020-10-19T21:03:19.9905904Z",
+ "lastUpdatedDateTime": "2020-10-19T21:03:19.9905904Z",
+ "expiryDate": "2020-10-19"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json
index 347535b39c42..5256816c34ae 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
@@ -3561,6 +3561,143 @@
}
}
}
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservations": {
+ "get": {
+ "tags": [
+ "Reservations"
+ ],
+ "x-ms-examples": {
+ "ReservationsListByBillingAccount": {
+ "$ref": "./examples/ReservationsListByBillingAccount.json"
+ }
+ },
+ "operationId": "Reservations_ListByBillingAccount",
+ "description": "Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "description": "May be used to sort order by reservation properties.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "refreshSummary",
+ "description": "To indicate whether to refresh the roll up counts of the reservations group by provisioning states",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "selectedState",
+ "description": "The selected provisioning state",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/reservations": {
+ "get": {
+ "tags": [
+ "Reservations"
+ ],
+ "x-ms-examples": {
+ "ReservationsListByBillingProfile": {
+ "$ref": "./examples/ReservationsListByBillingProfile.json"
+ }
+ },
+ "operationId": "Reservations_ListByBillingProfile",
+ "description": "Lists the reservations for a billing profile and the roll up counts of reservations group by provisioning state.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "description": "May be used to sort order by reservation properties.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "refreshSummary",
+ "description": "To indicate whether to refresh the roll up counts of the reservations group by provisioning state",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "selectedState",
+ "description": "The selected provisioning state",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
}
},
"definitions": {
@@ -3575,6 +3712,12 @@
"$ref": "#/definitions/Customer"
}
},
+ "totalCount": {
+ "description": "Total number of records.",
+ "type": "number",
+ "format": "int32",
+ "readOnly": true
+ },
"nextLink": {
"description": "The link (url) to the next page of results.",
"type": "string",
@@ -3868,6 +4011,10 @@
"description": "Indicates whether user has read access to the billing account.",
"type": "boolean",
"readOnly": true
+ },
+ "notificationEmailAddress": {
+ "description": "Notification email address, only for legacy accounts",
+ "type": "string"
}
}
},
@@ -4092,7 +4239,7 @@
"type": "boolean",
"readOnly": true
},
- "marketplacesEnabled": {
+ "marketplaceEnabled": {
"description": "The policy that controls whether Azure marketplace purchases are allowed in the enrollment.",
"type": "boolean",
"readOnly": true
@@ -4175,6 +4322,10 @@
"description": "The owner of the enrollment account.",
"type": "string"
},
+ "accountOwnerEmail": {
+ "description": "The enrollment account owner email address.",
+ "type": "string"
+ },
"status": {
"description": "The status of the enrollment account.",
"type": "string"
@@ -4439,6 +4590,14 @@
"items": {
"$ref": "#/definitions/TargetCloud"
}
+ },
+ "tags": {
+ "description": "Tags of billing profiles.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "maxItems": 1000
}
}
},
@@ -4470,6 +4629,10 @@
"description": "First name.",
"type": "string"
},
+ "middleName": {
+ "description": "Middle name.",
+ "type": "string"
+ },
"lastName": {
"description": "Last name.",
"type": "string"
@@ -4557,6 +4720,12 @@
"$ref": "#/definitions/InvoiceSection"
}
},
+ "totalCount": {
+ "description": "Total number of records.",
+ "type": "number",
+ "format": "int32",
+ "readOnly": true
+ },
"nextLink": {
"description": "The link (url) to the next page of results.",
"type": "string",
@@ -5395,6 +5564,12 @@
"$ref": "#/definitions/BillingSubscription"
}
},
+ "totalCount": {
+ "description": "Total number of records.",
+ "type": "number",
+ "format": "int32",
+ "readOnly": true
+ },
"nextLink": {
"description": "The link (url) to the next page of results.",
"type": "string",
@@ -5920,6 +6095,11 @@
"type": "string",
"readOnly": true
},
+ "isDataAction": {
+ "description": "Identifies if the operation is a data operation.",
+ "type": "boolean",
+ "readOnly": true
+ },
"display": {
"description": "The object that represents the operation.",
"properties": {
@@ -5937,6 +6117,11 @@
"description": "Operation type such as read, write and delete.",
"type": "string",
"readOnly": true
+ },
+ "description": {
+ "description": "Description of operation.",
+ "type": "string",
+ "readOnly": true
}
}
}
@@ -6266,6 +6451,248 @@
"description": "The set of actions that the caller is not allowed to perform.",
"type": "string",
"readOnly": true
+ },
+ "ReservationsListResult": {
+ "description": "The list of reservations and summary of roll out count of reservations in each state.",
+ "properties": {
+ "value": {
+ "description": "The list of reservations.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Reservation"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ },
+ "summary": {
+ "description": "The roll out count summary of the reservations",
+ "type": "object",
+ "$ref": "#/definitions/ReservationSummary"
+ }
+ }
+ },
+ "Reservation": {
+ "description": "The definition of the reservation.",
+ "properties": {
+ "id": {
+ "description": "The id of the reservation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the reservation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the reservation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "The location of the reservation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "The sku information associated to this reservation ",
+ "type": "object",
+ "$ref": "#/definitions/ReservationSkuProperty"
+ },
+ "properties": {
+ "description": "The properties associated to this reservation ",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationProperty"
+ }
+ }
+ },
+ "ReservationSkuProperty": {
+ "description": "The property of reservation sku object.",
+ "properties": {
+ "name": {
+ "description": "The name of the reservation sku.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationProperty": {
+ "description": "The property of reservation object.",
+ "properties": {
+ "appliedScopes": {
+ "description": "The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReservationAppliedScope"
+ }
+ },
+ "appliedScopeType": {
+ "description": "The applied scope type of the reservation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservedResourceType": {
+ "description": "The reserved source type of the reservation, e.g. virtual machine.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The number of the reservation.",
+ "type": "number",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the reservation, e.g. Succeeded",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiryDate": {
+ "description": "The expiry date of the reservation",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningSubState": {
+ "description": "The provisioning state of the reservation, e.g. Succeeded",
+ "type": "string",
+ "readOnly": true
+ },
+ "displayName": {
+ "description": "The display name of the reservation",
+ "type": "string",
+ "readOnly": true
+ },
+ "displayProvisioningState": {
+ "description": "The provisioning state of the reservation for display, e.g. Succeeded",
+ "type": "string",
+ "readOnly": true
+ },
+ "userFriendlyRenewState": {
+ "description": "The renew state of the reservation for display, e.g. On",
+ "type": "string",
+ "readOnly": true
+ },
+ "userFriendlyAppliedScopeType": {
+ "description": "The applied scope type of the reservation for display, e.g. Shared",
+ "type": "string",
+ "readOnly": true
+ },
+ "effectiveDateTime": {
+ "description": "The effective date time of the reservation",
+ "type": "string",
+ "readOnly": true
+ },
+ "skuDescription": {
+ "description": "The sku description of the reservation",
+ "type": "string",
+ "readOnly": true
+ },
+ "term": {
+ "description": "The term of the reservation, e.g. P1Y",
+ "type": "string",
+ "readOnly": true
+ },
+ "renew": {
+ "description": "The renew state of the reservation",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "renewSource": {
+ "description": "The renew source of the reservation",
+ "type": "string",
+ "readOnly": true
+ },
+ "utilization": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Reservation utilization",
+ "properties": {
+ "trend": {
+ "description": "The number of days trend for a reservation",
+ "readOnly": true,
+ "type": "string"
+ },
+ "aggregates": {
+ "description": "The array of aggregates of a reservation's utilization",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReservationUtilizationAggregates"
+ }
+ }
+ }
+ }
+ }
+ },
+ "ReservationAppliedScope": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Reservation applied scope"
+ },
+ "ReservationUtilizationAggregates": {
+ "description": "The aggregate values of reservation utilization",
+ "type": "object",
+ "properties": {
+ "grain": {
+ "description": "The grain of the aggregate",
+ "readOnly": true,
+ "type": "number"
+ },
+ "grainUnit": {
+ "description": "The grain unit of the aggregate",
+ "readOnly": true,
+ "type": "string"
+ },
+ "value": {
+ "description": "The aggregate value",
+ "readOnly": true,
+ "type": "number"
+ },
+ "valueUnit": {
+ "description": "The aggregate value unit",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ReservationSummary": {
+ "description": "The roll up count summary of reservations in each state",
+ "type": "object",
+ "properties": {
+ "succeededCount": {
+ "description": "The number of reservation in Succeeded state",
+ "readOnly": true,
+ "type": "number"
+ },
+ "failedCount": {
+ "description": "The number of reservation in Failed state",
+ "readOnly": true,
+ "type": "number"
+ },
+ "expiringCount": {
+ "description": "The number of reservation in Expiring state",
+ "readOnly": true,
+ "type": "number"
+ },
+ "expiredCount": {
+ "description": "The number of reservation in Expired state",
+ "readOnly": true,
+ "type": "number"
+ },
+ "pendingCount": {
+ "description": "The number of reservation in Pending state",
+ "readOnly": true,
+ "type": "number"
+ },
+ "cancelledCount": {
+ "description": "The number of reservation in Cancelled state",
+ "readOnly": true,
+ "type": "number"
+ }
+ }
}
},
"parameters": {
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpandForEnrollmentDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpandForEnrollmentDetails.json
index a546b96ac97f..4406026cef02 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpandForEnrollmentDetails.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpandForEnrollmentDetails.json
@@ -34,7 +34,7 @@
"policies": {
"accountOwnerViewCharges": true,
"departmentAdminViewCharges": true,
- "marketplacesEnabled": true,
+ "marketplaceEnabled": true,
"reservedInstancesEnabled": true
}
},
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ReservationsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ReservationsListByBillingAccount.json
new file mode 100644
index 000000000000..af4f99587c4b
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ReservationsListByBillingAccount.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "$filter": "properties/reservedResourceType eq 'VirtualMachines'",
+ "$orderby": "properties/userFriendlyAppliedScopeType asc",
+ "refreshsummary": "true",
+ "selectedState": "Succeeded"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/microsoft.capacity/reservationOrders/00000000-0000-0000-0000-000000000001/reservations/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000001/00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Capacity/reservationOrders/reservations",
+ "location": "westus",
+ "sku": {
+ "name": "Standard_D1"
+ },
+ "properties": {
+ "appliedScopes": null,
+ "appliedScopeType": "Shared",
+ "reservedResourceType": "VirtualMachines",
+ "quantity": 2,
+ "provisioningState": "Succeeded",
+ "expiryDate": "2023-07-21",
+ "provisioningSubState": null,
+ "displayName": "VM_RI_07-21-2020_12-06",
+ "displayProvisioningState": "Succeeded",
+ "userFriendlyRenewState": "Off",
+ "userFriendlyAppliedScopeType": "Shared",
+ "effectiveDateTime": "0001-01-01T00:00:00",
+ "skuDescription": null,
+ "term": null,
+ "renew": false,
+ "renewSource": null,
+ "utilization": {
+ "trend": "UP",
+ "aggregates": [
+ {
+ "grain": 1.0,
+ "grainUnit": "days",
+ "value": 0.05,
+ "valueUnit": "percentage"
+ },
+ {
+ "grain": 7.0,
+ "grainUnit": "days",
+ "value": 0.05,
+ "valueUnit": "percentage"
+ },
+ {
+ "grain": 30.0,
+ "grainUnit": "days",
+ "value": 0.05,
+ "valueUnit": "percentage"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "summary": {
+ "succeededCount": 1,
+ "failedCount": 0,
+ "expiringCount": 0,
+ "expiredCount": 0,
+ "pendingCount": 0,
+ "cancelledCount": 0
+ },
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ReservationsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ReservationsListByBillingProfile.json
new file mode 100644
index 000000000000..f04d34b1da33
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/ReservationsListByBillingProfile.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}",
+ "$filter": "properties/reservedResourceType eq 'VirtualMachines'",
+ "$orderby": "properties/userFriendlyAppliedScopeType asc",
+ "refreshsummary": "true",
+ "selectedState": "Succeeded"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/microsoft.capacity/reservationOrders/00000000-0000-0000-0000-000000000001/reservations/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000001/00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.Capacity/reservationOrders/reservations",
+ "location": "westus",
+ "sku": {
+ "name": "Standard_D1"
+ },
+ "properties": {
+ "appliedScopes": null,
+ "appliedScopeType": "Shared",
+ "reservedResourceType": "VirtualMachines",
+ "quantity": 2,
+ "provisioningState": "Succeeded",
+ "expiryDate": "2023-07-21",
+ "provisioningSubState": null,
+ "displayName": "VM_RI_07-21-2020_12-06",
+ "displayProvisioningState": "Succeeded",
+ "userFriendlyRenewState": "Off",
+ "userFriendlyAppliedScopeType": "Shared",
+ "effectiveDateTime": "0001-01-01T00:00:00",
+ "skuDescription": null,
+ "term": null,
+ "renew": false,
+ "renewSource": "/providers/Microsoft.Capacity/reservationorders/00000000-0000-0000-0000-000000000002/reservations/00000000-0000-0000-0000-000000000003",
+ "utilization": {
+ "trend": "UP",
+ "aggregates": [
+ {
+ "grain": 1.0,
+ "grainUnit": "days",
+ "value": 0.05,
+ "valueUnit": "percentage"
+ },
+ {
+ "grain": 7.0,
+ "grainUnit": "days",
+ "value": 0.05,
+ "valueUnit": "percentage"
+ },
+ {
+ "grain": 30.0,
+ "grainUnit": "days",
+ "value": 0.05,
+ "valueUnit": "percentage"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "summary": {
+ "succeededCount": 1,
+ "failedCount": 0,
+ "expiringCount": 0,
+ "expiredCount": 0,
+ "pendingCount": 0,
+ "cancelledCount": 0
+ },
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/readme.az.md b/specification/billing/resource-manager/readme.az.md
index 5b72c1e2e0af..46cac6393969 100644
--- a/specification/billing/resource-manager/readme.az.md
+++ b/specification/billing/resource-manager/readme.az.md
@@ -206,7 +206,7 @@ cli:
groupExtensionMode: preview
# -------- Invoice --------
- # customize for download command by manual for ungraceful implmentation by default
+ # customize for download command by manual for ungraceful implementation by default
- where:
group: Invoices
op: DownloadInvoice
@@ -223,7 +223,7 @@ cli:
group: Invoices
op: DownloadMultipleBillingSubscriptionInvoices
hidden: true
- # customize for series of get commands by manual for ungraceful implmentation by default
+ # customize for series of get commands by manual for ungraceful implementation by default
- where:
group: Invoices
op: GetById
diff --git a/specification/billing/resource-manager/readme.go.md b/specification/billing/resource-manager/readme.go.md
index f6bf507cb97e..3168650648d3 100644
--- a/specification/billing/resource-manager/readme.go.md
+++ b/specification/billing/resource-manager/readme.go.md
@@ -5,7 +5,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: billing
clear-output-folder: true
```
@@ -17,7 +17,6 @@ batch:
- tag: package-2018-11-preview
- tag: package-2018-03-preview
- tag: package-2017-04-preview
- - tag: package-2017-02-preview
```
### Tag: package-2020-05 and go
diff --git a/specification/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md
index 54b10224deae..09af2b162568 100644
--- a/specification/billing/resource-manager/readme.md
+++ b/specification/billing/resource-manager/readme.md
@@ -38,6 +38,15 @@ input-file:
- Microsoft.Billing/stable/2020-05-01/billing.json
- Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
```
+### Tag: package-2020-11-preview
+
+These settings apply only when `--tag=package-2020-11-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-11-preview'
+input-file:
+- Microsoft.Billing/stable/2020-05-01/billing.json
+- Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json
+```
### Tag: package-2019-10-preview
@@ -102,9 +111,9 @@ 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-cli-extensions
- repo: azure-resource-manager-schemas
after_scripts:
- node sdkauto_afterscript.js billing/resource-manager
diff --git a/specification/blockchain/resource-manager/readme.go.md b/specification/blockchain/resource-manager/readme.go.md
index 2196eb656a1f..e7e9372c1006 100644
--- a/specification/blockchain/resource-manager/readme.go.md
+++ b/specification/blockchain/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: blockchain
```
diff --git a/specification/blueprint/resource-manager/readme.go.md b/specification/blueprint/resource-manager/readme.go.md
index 7bbbb41384ef..6a25ef352687 100644
--- a/specification/blueprint/resource-manager/readme.go.md
+++ b/specification/blueprint/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: blueprint
clear-output-folder: true
```
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json
new file mode 100644
index 000000000000..51d8b32ac081
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json
@@ -0,0 +1,2641 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Bot Service",
+ "description": "Azure Bot Service is a platform for creating smart conversational agents.",
+ "version": "2021-03-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}": {
+ "put": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Creates a Bot Service. Bot Service is a resource group wide resource type.",
+ "operationId": "Bots_Create",
+ "x-ms-examples": {
+ "Create Bot": {
+ "$ref": "./examples/CreateBot.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is created successfully or already existed, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Updates a Bot Service",
+ "operationId": "Bots_Update",
+ "x-ms-examples": {
+ "Update Bot": {
+ "$ref": "./examples/UpdateBot.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "201": {
+ "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Deletes a Bot Service from the resource group. ",
+ "operationId": "Bots_Delete",
+ "x-ms-examples": {
+ "Delete Bot": {
+ "$ref": "./examples/DeleteBot.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
+ },
+ "204": {
+ "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Returns a BotService specified by the parameters.",
+ "operationId": "Bots_Get",
+ "x-ms-examples": {
+ "Get Bot": {
+ "$ref": "./examples/GetBot.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices": {
+ "get": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Returns all the resources of a particular type belonging to a resource group",
+ "operationId": "Bots_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Bots by Resource Group": {
+ "$ref": "./examples/ListBotsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/BotResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices": {
+ "get": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Returns all the resources of a particular type belonging to a subscription.",
+ "operationId": "Bots_List",
+ "x-ms-examples": {
+ "List Bots by Subscription": {
+ "$ref": "./examples/ListBotsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ",
+ "schema": {
+ "$ref": "#/definitions/BotResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}": {
+ "put": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Creates a Channel registration for a Bot Service",
+ "operationId": "Channels_Create",
+ "x-ms-examples": {
+ "Create Bot": {
+ "$ref": "./examples/PutChannel.json"
+ },
+ "Create Alexa Bot": {
+ "$ref": "./examples/PutAlexaChannel.json"
+ },
+ "Create Line Bot": {
+ "$ref": "./examples/PutLineChannel.json"
+ },
+ "Create DirectLine Speech Bot": {
+ "$ref": "./examples/PutDirectLineSpeechChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/channelNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is created successfully or already existed, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Updates a Channel registration for a Bot Service",
+ "operationId": "Channels_Update",
+ "x-ms-examples": {
+ "Update Bot": {
+ "$ref": "./examples/UpdateChannel.json"
+ },
+ "Update Alexa": {
+ "$ref": "./examples/UpdateAlexaChannel.json"
+ },
+ "Update Line": {
+ "$ref": "./examples/UpdateLineChannel.json"
+ },
+ "Update DirectLine Speech": {
+ "$ref": "./examples/UpdateDirectLineSpeechChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/channelNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "201": {
+ "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Deletes a Channel registration from a Bot Service",
+ "operationId": "Channels_Delete",
+ "x-ms-examples": {
+ "Delete Bot": {
+ "$ref": "./examples/DeleteChannel.json"
+ },
+ "Delete DirectLine Speech Bot": {
+ "$ref": "./examples/DeleteDirectLineSpeechChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "channelName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
+ },
+ "204": {
+ "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Returns a BotService Channel registration specified by the parameters.",
+ "operationId": "Channels_Get",
+ "x-ms-examples": {
+ "Get Bot": {
+ "$ref": "./examples/GetChannel.json"
+ },
+ "Get Alexa Bot": {
+ "$ref": "./examples/GetAlexaChannel.json"
+ },
+ "Get Line Bot": {
+ "$ref": "./examples/GetLineChannel.json"
+ },
+ "Get DirectLine Speech Bot": {
+ "$ref": "./examples/GetDirectLineSpeechChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "channelName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys": {
+ "post": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Lists a Channel registration for a Bot Service including secrets",
+ "operationId": "Channels_ListWithKeys",
+ "x-ms-examples": {
+ "List Channel": {
+ "$ref": "./examples/ListChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/channelNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is retrieved successfully, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels": {
+ "get": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Returns all the Channel registrations of a particular BotService resource",
+ "operationId": "Channels_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Bots by Resource Group": {
+ "$ref": "./examples/ListChannelsByBotService.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/ChannelResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/regeneratekeys": {
+ "post": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Regenerates secret keys and returns them for the DirectLine Channel of a particular BotService resource",
+ "operationId": "DirectLine_RegenerateKeys",
+ "x-ms-examples": {
+ "Regenerate Keys for DirectLine Channel Site": {
+ "$ref": "./examples/DirectlineRegenerateKeys.json"
+ },
+ "Regenerate Keys for WebChat Channel Site": {
+ "$ref": "./examples/WebChatRegenerateKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/regenerateKeyschannelNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SiteInfo"
+ },
+ "description": "The parameters to provide for the created bot."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.BotService/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Check whether a bot name is available.",
+ "operationId": "Bots_GetCheckNameAvailability",
+ "x-ms-examples": {
+ "check Name Availability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequestBody"
+ },
+ "description": "The request body parameters to provide for the check name availability request"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResponseBody"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.BotService/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all the available BotService operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/listAuthServiceProviders": {
+ "post": {
+ "tags": [
+ "ListServiceProviders"
+ ],
+ "description": "Lists the available Service Providers for creating Connection Settings",
+ "operationId": "BotConnection_ListServiceProviders",
+ "x-ms-examples": {
+ "List Auth Service Providers": {
+ "$ref": "./examples/ListServiceProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is retrieved successfully, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/ServiceProviderResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections/{connectionName}/listWithSecrets": {
+ "post": {
+ "tags": [
+ "BotConnection"
+ ],
+ "x-ms-examples": {
+ "Update Connection Setting": {
+ "$ref": "./examples/GetConnection.json"
+ }
+ },
+ "description": "Get a Connection Setting registration for a Bot Service",
+ "operationId": "BotConnection_ListWithSecrets",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections/{connectionName}": {
+ "put": {
+ "tags": [
+ "BotConnection"
+ ],
+ "description": "Register a new Auth Connection for a Bot Service",
+ "operationId": "BotConnection_Create",
+ "x-ms-examples": {
+ "Create Connection Setting": {
+ "$ref": "./examples/PutConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ },
+ "description": "The parameters to provide for creating the Connection Setting."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is created successfully or already existed, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BotConnection"
+ ],
+ "description": "Updates a Connection Setting registration for a Bot Service",
+ "operationId": "BotConnection_Update",
+ "x-ms-examples": {
+ "Update Connection Setting": {
+ "$ref": "./examples/UpdateConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ },
+ "description": "The parameters to provide for updating the Connection Setting."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is created successfully or already existed, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "BotConnection"
+ ],
+ "x-ms-examples": {
+ "Update Connection Setting": {
+ "$ref": "./examples/GetConnection.json"
+ }
+ },
+ "description": "Get a Connection Setting registration for a Bot Service",
+ "operationId": "BotConnection_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BotConnection"
+ ],
+ "description": "Deletes a Connection Setting registration for a Bot Service",
+ "operationId": "BotConnection_Delete",
+ "x-ms-examples": {
+ "Update Connection Setting": {
+ "$ref": "./examples/DeleteConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
+ },
+ "204": {
+ "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections": {
+ "get": {
+ "tags": [
+ "BotConnection"
+ ],
+ "description": "Returns all the Connection Settings registered to a particular BotService resource",
+ "operationId": "BotConnection_ListByBotService",
+ "x-ms-examples": {
+ "List Connection Settings": {
+ "$ref": "./examples/ListConnectionsByBotService.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSettingResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/hostSettings": {
+ "get": {
+ "tags": [
+ "BotHostSettings"
+ ],
+ "description": "Get per subscription settings needed to host bot in compute resource such as Azure App Service",
+ "operationId": "HostSettings_Get",
+ "x-ms-examples": {
+ "Get Bot Host Settings": {
+ "$ref": "./examples/GetHostSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is retrieved successfully, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/HostSettingsResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "Azure resource",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "Specifies the resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Specifies the name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Specifies the location of the resource.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Specifies the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "Contains resource tags defined as key/value pairs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Gets or sets the SKU of the resource."
+ },
+ "kind": {
+ "$ref": "#/definitions/Kind",
+ "description": "Required. Gets or sets the Kind of the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag"
+ }
+ }
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/SkuName",
+ "description": "The sku name"
+ },
+ "tier": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the sku tier. This is based on the SKU name.",
+ "enum": [
+ "Free",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "The SKU of the cognitive services account."
+ },
+ "SkuName": {
+ "type": "string",
+ "description": "The name of SKU.",
+ "enum": [
+ "F0",
+ "S1"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "Kind": {
+ "type": "string",
+ "description": "Indicates the type of bot service",
+ "enum": [
+ "sdk",
+ "designer",
+ "bot",
+ "function",
+ "azurebot"
+ ],
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ },
+ "Bot": {
+ "type": "object",
+ "description": "Bot resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BotProperties",
+ "description": "The set of properties specific to bot resource"
+ }
+ }
+ },
+ "BotProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The Name of the bot"
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the bot"
+ },
+ "iconUrl": {
+ "type": "string",
+ "description": "The Icon Url of the bot"
+ },
+ "endpoint": {
+ "type": "string",
+ "description": "The bot's endpoint"
+ },
+ "endpointVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The bot's endpoint version"
+ },
+ "msaAppId": {
+ "type": "string",
+ "description": "Microsoft App Id for the bot"
+ },
+ "configuredChannels": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Collection of channels for which the bot is configured"
+ },
+ "enabledChannels": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Collection of channels for which the bot is enabled"
+ },
+ "developerAppInsightKey": {
+ "type": "string",
+ "description": "The Application Insights key"
+ },
+ "developerAppInsightsApiKey": {
+ "type": "string",
+ "description": "The Application Insights Api Key"
+ },
+ "developerAppInsightsApplicationId": {
+ "type": "string",
+ "description": "The Application Insights App Id"
+ },
+ "luisAppIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Collection of LUIS App Ids"
+ },
+ "luisKey": {
+ "type": "string",
+ "description": "The LUIS Key"
+ },
+ "isCmekEnabled": {
+ "type": "boolean",
+ "description": "Whether Cmek is enabled"
+ },
+ "cmekKeyVaultUrl": {
+ "type": "string",
+ "description": "The CMK Url"
+ }
+ },
+ "description": "The parameters to provide for the Bot.",
+ "required": [
+ "displayName",
+ "endpoint",
+ "msaAppId"
+ ]
+ },
+ "BotResponseList": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of bot service resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Bot"
+ },
+ "description": "Gets the list of bot service results and their properties."
+ }
+ },
+ "description": "The list of bot service operation response."
+ },
+ "BotChannel": {
+ "type": "object",
+ "description": "Bot channel resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/Channel",
+ "description": "The set of properties specific to bot channel resource"
+ }
+ }
+ },
+ "Channel": {
+ "type": "object",
+ "description": "Channel definition",
+ "discriminator": "channelName",
+ "properties": {
+ "channelName": {
+ "type": "string",
+ "description": "The channel name"
+ }
+ },
+ "required": [
+ "channelName"
+ ]
+ },
+ "AlexaChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "AlexaChannel",
+ "description": "Alexa channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AlexaChannelProperties",
+ "description": "The set of properties specific to Alexa channel resource"
+ }
+ }
+ },
+ "AlexaChannelProperties": {
+ "properties": {
+ "alexaSkillId": {
+ "type": "string",
+ "description": "The Alexa skill Id"
+ },
+ "urlFragment": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Url fragment used in part of the Uri configured in Alexa"
+ },
+ "serviceEndpointUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Full Uri used to configured the skill in Alexa"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Alexa channel.",
+ "required": [
+ "alexaSkillId",
+ "isEnabled"
+ ]
+ },
+ "FacebookChannel": {
+ "type": "object",
+ "description": "Facebook channel definition",
+ "x-ms-discriminator-value": "FacebookChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FacebookChannelProperties",
+ "description": "The set of properties specific to bot facebook channel"
+ }
+ }
+ },
+ "FacebookChannelProperties": {
+ "properties": {
+ "verifyToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "readOnly": true,
+ "description": "Verify token. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "pages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FacebookPage"
+ },
+ "description": "The list of Facebook pages"
+ },
+ "appId": {
+ "type": "string",
+ "description": "Facebook application id"
+ },
+ "appSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Facebook application secret. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "callbackUrl": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Callback Url"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Facebook channel.",
+ "required": [
+ "appId",
+ "isEnabled"
+ ]
+ },
+ "FacebookPage": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Page id"
+ },
+ "accessToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Facebook application access token. Value only returned through POST to the action Channel List API, otherwise empty."
+ }
+ },
+ "description": "A Facebook page for Facebook channel registration",
+ "required": [
+ "id"
+ ]
+ },
+ "EmailChannel": {
+ "type": "object",
+ "description": "Email channel definition",
+ "x-ms-discriminator-value": "EmailChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EmailChannelProperties",
+ "description": "The set of properties specific to email channel resource"
+ }
+ }
+ },
+ "EmailChannelProperties": {
+ "properties": {
+ "emailAddress": {
+ "type": "string",
+ "description": "The email address"
+ },
+ "password": {
+ "type": "string",
+ "description": "The password for the email address. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Email channel.",
+ "required": [
+ "emailAddress",
+ "isEnabled"
+ ]
+ },
+ "MsTeamsChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "MsTeamsChannel",
+ "description": "Microsoft Teams channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MsTeamsChannelProperties",
+ "description": "The set of properties specific to Microsoft Teams channel resource"
+ }
+ }
+ },
+ "MsTeamsChannelProperties": {
+ "properties": {
+ "enableCalling": {
+ "type": "boolean",
+ "description": "Enable calling for Microsoft Teams channel"
+ },
+ "callingWebHook": {
+ "type": "string",
+ "description": "Webhook for Microsoft Teams channel calls"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Microsoft Teams channel.",
+ "required": [
+ "isEnabled"
+ ]
+ },
+ "SkypeChannel": {
+ "type": "object",
+ "description": "Skype channel definition",
+ "x-ms-discriminator-value": "SkypeChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SkypeChannelProperties",
+ "description": "The set of properties specific to Skype channel resource"
+ }
+ }
+ },
+ "SkypeChannelProperties": {
+ "properties": {
+ "enableMessaging": {
+ "type": "boolean",
+ "description": "Enable messaging for Skype channel"
+ },
+ "enableMediaCards": {
+ "type": "boolean",
+ "description": "Enable media cards for Skype channel"
+ },
+ "enableVideo": {
+ "type": "boolean",
+ "description": "Enable video for Skype channel"
+ },
+ "enableCalling": {
+ "type": "boolean",
+ "description": "Enable calling for Skype channel"
+ },
+ "enableScreenSharing": {
+ "type": "boolean",
+ "description": "Enable screen sharing for Skype channel"
+ },
+ "enableGroups": {
+ "type": "boolean",
+ "description": "Enable groups for Skype channel"
+ },
+ "groupsMode": {
+ "type": "string",
+ "description": "Group mode for Skype channel"
+ },
+ "callingWebHook": {
+ "type": "string",
+ "description": "Calling web hook for Skype channel"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Microsoft Teams channel.",
+ "required": [
+ "isEnabled"
+ ]
+ },
+ "KikChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "KikChannel",
+ "description": "Kik channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/KikChannelProperties",
+ "description": "The set of properties specific to Kik channel resource"
+ }
+ }
+ },
+ "KikChannelProperties": {
+ "properties": {
+ "userName": {
+ "type": "string",
+ "description": "The Kik user name"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Kik API key. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Kik channel.",
+ "required": [
+ "userName",
+ "isEnabled"
+ ]
+ },
+ "WebChatChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "WebChatChannel",
+ "description": "Web Chat channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WebChatChannelProperties",
+ "description": "The set of properties specific to Web Chat channel resource"
+ }
+ }
+ },
+ "WebChatChannelProperties": {
+ "properties": {
+ "webChatEmbedCode": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true,
+ "description": "Web chat control embed code"
+ },
+ "sites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WebChatSite"
+ },
+ "description": "The list of Web Chat sites"
+ }
+ },
+ "description": "The parameters to provide for the Web Chat channel."
+ },
+ "DirectLineChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "DirectLineChannel",
+ "description": "Direct Line channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DirectLineChannelProperties",
+ "description": "The set of properties specific to Direct Line channel resource"
+ }
+ }
+ },
+ "DirectLineChannelProperties": {
+ "properties": {
+ "sites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DirectLineSite"
+ },
+ "description": "The list of Direct Line sites"
+ }
+ },
+ "description": "The parameters to provide for the Direct Line channel."
+ },
+ "TelegramChannel": {
+ "type": "object",
+ "description": "Telegram channel definition",
+ "x-ms-discriminator-value": "TelegramChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TelegramChannelProperties",
+ "description": "The set of properties specific to Telegram channel resource"
+ }
+ }
+ },
+ "TelegramChannelProperties": {
+ "properties": {
+ "accessToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Telegram access token. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Telegram channel.",
+ "required": [
+ "isEnabled"
+ ]
+ },
+ "SmsChannel": {
+ "type": "object",
+ "description": "Sms channel definition",
+ "x-ms-discriminator-value": "SmsChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SmsChannelProperties",
+ "description": "The set of properties specific to Sms channel resource"
+ }
+ }
+ },
+ "SmsChannelProperties": {
+ "properties": {
+ "phone": {
+ "type": "string",
+ "description": "The Sms phone"
+ },
+ "accountSID": {
+ "type": "string",
+ "description": "The Sms account SID. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "authToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Sms auth token. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Sms channel.",
+ "required": [
+ "phone",
+ "accountSID",
+ "isEnabled"
+ ]
+ },
+ "SlackChannel": {
+ "type": "object",
+ "description": "Slack channel definition",
+ "x-ms-discriminator-value": "SlackChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SlackChannelProperties",
+ "description": "The set of properties specific to Slack channel resource"
+ }
+ }
+ },
+ "SlackChannelProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The Slack client id"
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Slack client secret. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "verificationToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Slack verification token. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "landingPageUrl": {
+ "type": "string",
+ "description": "The Slack landing page Url"
+ },
+ "redirectAction": {
+ "type": "string",
+ "description": "The Slack redirect action",
+ "readOnly": true
+ },
+ "lastSubmissionId": {
+ "type": "string",
+ "description": "The Sms auth token",
+ "readOnly": true
+ },
+ "registerBeforeOAuthFlow": {
+ "type": "boolean",
+ "description": "Whether to register the settings before OAuth validation is performed. Recommended to True.",
+ "readOnly": true
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot",
+ "readOnly": true
+ },
+ "signingSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Slack signing secret."
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Slack channel.",
+ "required": [
+ "isEnabled"
+ ]
+ },
+ "LineChannel": {
+ "type": "object",
+ "description": "Line channel definition",
+ "x-ms-discriminator-value": "LineChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LineChannelProperties",
+ "description": "The set of properties specific to line channel resource"
+ }
+ }
+ },
+ "LineChannelProperties": {
+ "properties": {
+ "lineRegistrations": {
+ "type": "array",
+ "description": "The list of line channel registrations",
+ "items": {
+ "$ref": "#/definitions/LineRegistration"
+ }
+ },
+ "callbackUrl": {
+ "type": "string",
+ "description": "Callback Url to enter in line registration.",
+ "readOnly": true
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot",
+ "readOnly": true
+ }
+ },
+ "description": "The parameters to provide for the Line channel.",
+ "required": [
+ "lineRegistrations"
+ ]
+ },
+ "LineRegistration": {
+ "properties": {
+ "generatedId": {
+ "x-ms-mutability": [
+ "read"
+ ],
+ "type": "string",
+ "description": "Id generated for the line channel registration",
+ "readOnly": true
+ },
+ "channelSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Secret for the line channel registration"
+ },
+ "channelAccessToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Access token for the line channel registration"
+ }
+ },
+ "description": "The properties corresponding to a line channel registration"
+ },
+ "DirectLineSpeechChannel": {
+ "type": "object",
+ "description": "DirectLine Speech channel definition",
+ "x-ms-discriminator-value": "DirectLineSpeechChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DirectLineSpeechChannelProperties",
+ "description": "The set of properties specific to DirectLine Speech channel resource"
+ }
+ }
+ },
+ "DirectLineSpeechChannelProperties": {
+ "properties": {
+ "cognitiveServicesSubscriptionId": {
+ "type": "string",
+ "description": "The cognitive service subscription ID to use with this channel registration."
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled or not."
+ },
+ "customVoiceDeploymentId": {
+ "type": "string",
+ "description": "Custom speech model id (optional)."
+ },
+ "customSpeechModelId": {
+ "type": "string",
+ "description": "Custom voice deployment id (optional)."
+ },
+ "isDefaultBotForCogSvcAccount": {
+ "type": "boolean",
+ "description": "Make this a default bot for chosen cognitive service account."
+ }
+ },
+ "description": "The parameters to provide for the DirectLine Speech channel.",
+ "required": [
+ "cognitiveServicesSubscriptionId"
+ ]
+ },
+ "ChannelResponseList": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of bot service channel resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BotChannel"
+ },
+ "description": "Gets the list of bot service channel results and their properties."
+ }
+ },
+ "description": "The list of bot service channel operation response."
+ },
+ "WebChatSite": {
+ "properties": {
+ "siteId": {
+ "type": "string",
+ "description": "Site Id",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true
+ },
+ "siteName": {
+ "type": "string",
+ "description": "Site name"
+ },
+ "key": {
+ "type": "string",
+ "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true
+ },
+ "key2": {
+ "type": "string",
+ "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for DirectLine channel"
+ },
+ "enablePreview": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for preview versions of Webchat"
+ }
+ },
+ "required": [
+ "siteName",
+ "isEnabled",
+ "enablePreview"
+ ],
+ "description": "A site for the Webchat channel"
+ },
+ "DirectLineSite": {
+ "properties": {
+ "siteId": {
+ "x-ms-mutability": [
+ "read"
+ ],
+ "type": "string",
+ "description": "Site Id",
+ "readOnly": true
+ },
+ "siteName": {
+ "type": "string",
+ "description": "Site name"
+ },
+ "key": {
+ "x-ms-mutability": [
+ "read"
+ ],
+ "type": "string",
+ "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.",
+ "readOnly": true
+ },
+ "key2": {
+ "x-ms-mutability": [
+ "read"
+ ],
+ "type": "string",
+ "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.",
+ "readOnly": true
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for DirectLine channel."
+ },
+ "isV1Enabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for Bot Framework V1 protocol."
+ },
+ "isV3Enabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for Bot Framework V1 protocol."
+ },
+ "isSecureSiteEnabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for authentication with Bot Framework."
+ },
+ "trustedOrigins": {
+ "type": "array",
+ "description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "A site for the Direct Line channel",
+ "required": [
+ "isV1Enabled",
+ "isV3Enabled",
+ "isEnabled",
+ "siteName"
+ ]
+ },
+ "SiteInfo": {
+ "properties": {
+ "siteName": {
+ "type": "string",
+ "description": "The site name"
+ },
+ "key": {
+ "type": "string",
+ "description": "Determines which key is to be regenerated",
+ "enum": [
+ "key1",
+ "key2"
+ ],
+ "x-ms-enum": {
+ "name": "key",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Site information for WebChat or DirectLine Channels to identify which site to regenerate keys for.",
+ "type": "object",
+ "required": [
+ "siteName",
+ "key"
+ ]
+ },
+ "ConnectionItemName": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Connection Item name that has been added in the API",
+ "readOnly": true
+ }
+ },
+ "description": "The display name of a connection Item Setting registered with the Bot"
+ },
+ "ConnectionSettingParameter": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key for the Connection Setting Parameter."
+ },
+ "value": {
+ "type": "string",
+ "description": "Value associated with the Connection Setting Parameter."
+ }
+ },
+ "description": "Extra Parameter in a Connection Setting Properties to indicate service provider specific properties"
+ },
+ "ConnectionSettingProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id associated with the Connection Setting."
+ },
+ "settingId": {
+ "type": "string",
+ "description": "Setting Id set by the service for the Connection Setting.",
+ "readOnly": true
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client Secret associated with the Connection Setting"
+ },
+ "scopes": {
+ "type": "string",
+ "description": "Scopes associated with the Connection Setting"
+ },
+ "serviceProviderId": {
+ "type": "string",
+ "description": "Service Provider Id associated with the Connection Setting"
+ },
+ "serviceProviderDisplayName": {
+ "type": "string",
+ "description": "Service Provider Display Name associated with the Connection Setting"
+ },
+ "parameters": {
+ "type": "array",
+ "description": "Service Provider Parameters associated with the Connection Setting",
+ "items": {
+ "$ref": "#/definitions/ConnectionSettingParameter"
+ }
+ }
+ },
+ "description": "Properties for a Connection Setting Item"
+ },
+ "ConnectionSetting": {
+ "type": "object",
+ "description": "Bot channel resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConnectionSettingProperties",
+ "description": "The set of properties specific to bot channel resource"
+ }
+ }
+ },
+ "ConnectionSettingResponseList": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of bot service connection setting resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionSetting"
+ },
+ "description": "Gets the list of bot service connection settings and their properties."
+ }
+ },
+ "description": "The list of bot service connection settings response."
+ },
+ "ServiceProviderResponseList": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of bot service providers.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceProvider"
+ },
+ "description": "Gets the list of bot service providers and their properties."
+ }
+ },
+ "description": "The list of bot service providers response."
+ },
+ "ServiceProviderParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Service Provider",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the Service Provider",
+ "readOnly": true
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Service Provider",
+ "readOnly": true
+ },
+ "helpUrl": {
+ "type": "string",
+ "description": "Help Url for the Service Provider",
+ "readOnly": true
+ },
+ "default": {
+ "type": "string",
+ "description": "Default Name for the Service Provider",
+ "readOnly": true
+ }
+ },
+ "description": "Extra Parameters specific to each Service Provider"
+ },
+ "ServiceProviderProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id for Service Provider",
+ "readOnly": true
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "serviceProviderName": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "devPortalUrl": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "iconUrl": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "parameters": {
+ "description": "The list of parameters for the Service Provider",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceProviderParameter"
+ }
+ }
+ },
+ "description": "The Object used to describe a Service Provider supported by Bot Service"
+ },
+ "ServiceProvider": {
+ "type": "object",
+ "description": "Service Provider Definition",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServiceProviderProperties",
+ "description": "The Properties of a Service Provider Object"
+ }
+ }
+ },
+ "Error": {
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorBody",
+ "description": "The error body."
+ }
+ },
+ "description": "Bot Service error object."
+ },
+ "ErrorBody": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "error message"
+ }
+ },
+ "description": "Bot Service error body.",
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "OperationEntityListResult": {
+ "description": "The list of bot service operation response.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "The operations supported by Bot Service Management.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The operation supported by Bot Service Management."
+ },
+ "origin": {
+ "description": "The origin of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Additional properties.",
+ "type": "object"
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The operation supported by Bot Service Management.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Service provider: Microsoft Bot Service.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityRequestBody": {
+ "description": "The request body for a request to Bot Service Management to check availability of a bot name.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "the name of the bot for which availability needs to be checked.",
+ "type": "string"
+ },
+ "type": {
+ "description": "the type of the bot for which availability needs to be checked",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityResponseBody": {
+ "description": "The response body returned for a request to Bot Service Management to check availability of a bot name.",
+ "type": "object",
+ "properties": {
+ "valid": {
+ "description": "indicates if the bot name is valid.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "additional message from the bot management api showing why a bot name is not available",
+ "type": "string"
+ }
+ }
+ },
+ "HostSettingsResponse": {
+ "description": "The response body returned for a request to Bot Service Management to check per subscription hostSettings",
+ "type": "object",
+ "properties": {
+ "OAuthUrl": {
+ "description": "For in-conversation bot user authentication",
+ "type": "string"
+ },
+ "ToBotFromChannelOpenIdMetadataUrl": {
+ "description": "For verifying incoming tokens from the channels",
+ "type": "string"
+ },
+ "ToBotFromChannelTokenIssuer": {
+ "description": "For verifying incoming tokens from the channels",
+ "type": "string"
+ },
+ "ToBotFromEmulatorOpenIdMetadataUrl": {
+ "description": "For verifying incoming tokens from bot emulator",
+ "type": "string"
+ },
+ "ToChannelFromBotLoginUrl": {
+ "description": "For getting access token to channels from bot host",
+ "type": "string"
+ },
+ "ToChannelFromBotOAuthScope": {
+ "description": "For getting access token to channels from bot host",
+ "type": "string"
+ },
+ "ValidateAuthority": {
+ "description": "Per cloud OAuth setting on whether authority is validated",
+ "type": "boolean"
+ },
+ "BotOpenIdMetadata": {
+ "description": "Same as ToBotFromChannelOpenIdMetadataUrl, used by SDK < v4.12",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource group in the user subscription."
+ },
+ "resourceNameParameter": {
+ "name": "resourceName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource."
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "connectionNameParameter": {
+ "name": "connectionName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot Service Connection Setting resource."
+ },
+ "channelNameParameter": {
+ "name": "channelName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "AlexaChannel",
+ "FacebookChannel",
+ "EmailChannel",
+ "KikChannel",
+ "TelegramChannel",
+ "SlackChannel",
+ "MsTeamsChannel",
+ "SkypeChannel",
+ "WebChatChannel",
+ "DirectLineChannel",
+ "SmsChannel",
+ "LineChannel",
+ "DirectLineSpeechChannel"
+ ],
+ "x-ms-enum": {
+ "name": "channelName",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "AlexaChannel"
+ },
+ {
+ "value": "FacebookChannel"
+ },
+ {
+ "value": "EmailChannel"
+ },
+ {
+ "value": "KikChannel"
+ },
+ {
+ "value": "TelegramChannel"
+ },
+ {
+ "value": "SlackChannel"
+ },
+ {
+ "value": "MsTeamsChannel"
+ },
+ {
+ "value": "SkypeChannel"
+ },
+ {
+ "value": "WebChatChannel"
+ },
+ {
+ "value": "DirectLineChannel"
+ },
+ {
+ "value": "SmsChannel"
+ },
+ {
+ "value": "LineChannel"
+ },
+ {
+ "value": "DirectLineSpeechChannel"
+ }
+ ]
+ },
+ "description": "The name of the Channel resource."
+ },
+ "regenerateKeyschannelNameParameter": {
+ "name": "channelName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "WebChatChannel",
+ "DirectLineChannel"
+ ],
+ "x-ms-enum": {
+ "name": "regenerateKeysChannelName",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "WebChatChannel"
+ },
+ {
+ "value": "DirectLineChannel"
+ }
+ ]
+ },
+ "description": "The name of the Channel resource for which keys are to be regenerated."
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CheckNameAvailability.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..a613c712ce16
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CheckNameAvailability.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "parameters": {
+ "name": "testbotname",
+ "type": "string"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "valid": true,
+ "message": "custom message from server"
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json
new file mode 100644
index 000000000000..14577919f168
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/CreateBot.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "parameters": {
+ "location": "West US",
+ "sku": {
+ "name": "S1"
+ },
+ "etag": "etag1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApiKey": "appinsightsapikey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "luisKey": "luiskey",
+ "msaAppId": "exampleappid",
+ "isCmekEnabled": true,
+ "cmekKeyVaultUrl": "https://myCmekKey"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "etag": "etag1",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ],
+ "isCmekEnabled": true,
+ "cmekKeyVaultUrl": "https://myCmekKey"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ],
+ "isCmekEnabled": true,
+ "cmekKeyVaultUrl": "https://myCmekKey"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteBot.json
new file mode 100644
index 000000000000..21195bf89105
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteBot.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteChannel.json
new file mode 100644
index 000000000000..63b0388b76e4
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteChannel.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteConnection.json
new file mode 100644
index 000000000000..cf67b01e11fa
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteConnection.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "connectionName": "sampleConnection"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..ff047c2ff355
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DeleteDirectLineSpeechChannel.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DirectlineRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DirectlineRegenerateKeys.json
new file mode 100644
index 000000000000..50ef7e87500d
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/DirectlineRegenerateKeys.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineChannel",
+ "parameters": {
+ "siteName": "testSiteName",
+ "key": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineChannel",
+ "properties": {
+ "sites": [
+ {
+ "siteId": "abcd",
+ "siteName": "Default Site",
+ "key": "key1",
+ "key2": "key2",
+ "isEnabled": true,
+ "isV1Enabled": true,
+ "isV3Enabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetAlexaChannel.json
new file mode 100644
index 000000000000..ce8e6dd0c0cc
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetAlexaChannel.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "AlexaChannel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "alexa skill id",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json
new file mode 100644
index 000000000000..e14747090f1f
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetBot.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "etag": "etag1",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ],
+ "isCmekEnabled": true,
+ "cmekKeyVaultUrl": "https://myCmekKey"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetChannel.json
new file mode 100644
index 000000000000..b89f02010de6
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetChannel.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetConnection.json
new file mode 100644
index 000000000000..b9c78ff824c4
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetConnection.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "connectionName": "sampleConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection",
+ "etag": "etag1",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": null,
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..f4d15d88a187
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetDirectLineSpeechChannel.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "Cognitive services subscription ID",
+ "customVoiceDeploymentId": "Custom voice deployment ID",
+ "customSpeechModelId": "Custom speech model ID",
+ "isDefaultBotForCogSvcAccount": true,
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetHostSettings.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetHostSettings.json
new file mode 100644
index 000000000000..0eca7d306eac
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetHostSettings.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "BotOpenIdMetadata": "https://login.botframework.com/v1/.well-known/openidconfiguration",
+ "OAuthUrl": "https://token.botframework.com/",
+ "ToBotFromChannelOpenIdMetadataUrl": "https://login.botframework.com/v1/.well-known/openidconfiguration",
+ "ToBotFromChannelTokenIssuer": "https://api.botframework.com",
+ "ToBotFromEmulatorOpenIdMetadataUrl": "https://login.microsoftonline.com/botframework.com/v2.0/.well-known/openid-configuration",
+ "ToChannelFromBotLoginUrl": "https://login.microsoftonline.com/botframework.com",
+ "ToChannelFromBotOAuthScope": "https://api.botframework.com",
+ "ValidateAuthority": true
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetLineChannel.json
new file mode 100644
index 000000000000..8ea4e7ac3b97
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetLineChannel.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "LineChannel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": null,
+ "channelAccessToken": null
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetOperations.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetOperations.json
new file mode 100644
index 000000000000..7ac86f5a9676
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/GetOperations.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.BotService/botService/read",
+ "display": {
+ "provider": "Microsoft Bot Service",
+ "resource": "Bot Service",
+ "operation": "Read Bot Service",
+ "description": "Read Bot Service"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.BotService/botService/write",
+ "display": {
+ "provider": "Microsoft Bot Service",
+ "resource": "Bot Service",
+ "operation": "Write Bot Service",
+ "description": "Writes Bot Service"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.BotService/botService/delete",
+ "display": {
+ "provider": "Microsoft Bot Service",
+ "resource": "Bot Service",
+ "operation": "Delete Bot Service",
+ "description": "Deletes Bot Service"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.BotService/botService/botName/read",
+ "display": {
+ "provider": "Microsoft Bot Service",
+ "resource": "Bot Service name availability",
+ "operation": "Check bot name availability",
+ "description": "Check bot name availability"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json
new file mode 100644
index 000000000000..cacf7a61ed10
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsByResourceGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices",
+ "etag": "etag1",
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ],
+ "isCmekEnabled": true,
+ "cmekKeyVaultUrl": "https://myCmekKey"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json
new file mode 100644
index 000000000000..bce0d79428fd
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListBotsBySubscription.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices",
+ "kind": "sdk",
+ "etag": "etag1",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ],
+ "isCmekEnabled": true,
+ "cmekKeyVaultUrl": "https://myCmekKey"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannel.json
new file mode 100644
index 000000000000..de952f0543e8
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannel.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel",
+ "parameters": {
+ "location": "global"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json
new file mode 100644
index 000000000000..b18fbd8d15e8
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListChannelsByBotService.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "resourceName": "samplebotname",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ },
+ {
+ "location": "global",
+ "properties": {
+ "channelName": "FacebookChannel",
+ "properties": {
+ "verifyToken": "othertoken",
+ "appId": "id",
+ "appSecret": null,
+ "callbackUrl": "appid",
+ "isEnabled": true,
+ "pages": [
+ {
+ "accessToken": null,
+ "id": "id"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListConnectionsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListConnectionsByBotService.json
new file mode 100644
index 000000000000..24f10ec90b1a
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListConnectionsByBotService.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": null,
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListServiceProviders.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListServiceProviders.json
new file mode 100644
index 000000000000..c05785b4fbe0
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/ListServiceProviders.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "id": "sampleServiceProviderId",
+ "displayName": "sample service provider display name",
+ "serviceProviderName": "sampleServiceProvider",
+ "devPortalUrl": "sampleDevPortalUrl",
+ "iconUrl": "sampleIconUrl",
+ "parameters": [
+ {
+ "name": "sampleParameterName",
+ "type": "sampleParameterType",
+ "displayName": "sampleDisplayName",
+ "description": "sampleDescription",
+ "helpUrl": "sampleHelpUrl",
+ "default": "sampleDefaultValue"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutAlexaChannel.json
new file mode 100644
index 000000000000..8bea9a75068f
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutAlexaChannel.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "AlexaChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "XAlexaSkillIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "alexa skill id",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "alexa skill id",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutChannel.json
new file mode 100644
index 000000000000..0db6722e455b
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutChannel.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutConnection.json
new file mode 100644
index 000000000000..c755d979c945
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutConnection.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "connectionName": "sampleConnection",
+ "parameters": {
+ "location": "West US",
+ "etag": "etag1",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection",
+ "etag": "etag1",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": null,
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection",
+ "etag": "etag1",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": null,
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..f8bb8546de01
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutDirectLineSpeechChannel.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutLineChannel.json
new file mode 100644
index 000000000000..33ba5d33aabd
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/PutLineChannel.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "LineChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "channelSecret": "channelSecret",
+ "channelAccessToken": "channelAccessToken"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": null,
+ "channelAccessToken": null
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": null,
+ "channelAccessToken": null
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateAlexaChannel.json
new file mode 100644
index 000000000000..86267a4b33ad
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateAlexaChannel.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "AlexaChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "XAlexaSkillIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "XAlexaSkillIdX",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "XAlexaSkillIdX",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json
new file mode 100644
index 000000000000..910240b5bd1d
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateBot.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "parameters": {
+ "location": "West US",
+ "sku": {
+ "name": "S1"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "etag": "etag1",
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApiKey": "appinsightsapikey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "luisKey": "luiskey",
+ "msaAppId": "msaappid",
+ "isCmekEnabled": true,
+ "cmekKeyVaultUrl": "https://myCmekKey"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "etag": "etag1",
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ],
+ "isCmekEnabled": true,
+ "cmekKeyVaultUrl": "https://myCmekKey"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "etag": "etag1",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ],
+ "isCmekEnabled": true,
+ "cmekKeyVaultUrl": "https://myCmekKey"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateChannel.json
new file mode 100644
index 000000000000..0db6722e455b
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateChannel.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateConnection.json
new file mode 100644
index 000000000000..0120d612c32b
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateConnection.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "connectionName": "sampleConnection",
+ "parameters": {
+ "location": "global",
+ "etag": "etag1",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": null,
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "etag": "etag1",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": null,
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..f8bb8546de01
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateDirectLineSpeechChannel.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateLineChannel.json
new file mode 100644
index 000000000000..33ba5d33aabd
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/UpdateLineChannel.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "LineChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "channelSecret": "channelSecret",
+ "channelAccessToken": "channelAccessToken"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": null,
+ "channelAccessToken": null
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": null,
+ "channelAccessToken": null
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json
new file mode 100644
index 000000000000..025386ece0ff
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/examples/WebChatRegenerateKeys.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-03-01",
+ "resourceName": "samplebotname",
+ "channelName": "WebChatChannel",
+ "parameters": {
+ "siteName": "testSiteName",
+ "key": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "WebChatChannel",
+ "properties": {
+ "sites": [
+ {
+ "siteId": "abcd",
+ "siteName": "Default Site",
+ "key": "key1",
+ "key2": "key2",
+ "isEnabled": true,
+ "enablePreview": true
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/readme.azureresourceschema.md b/specification/botservice/resource-manager/readme.azureresourceschema.md
index 3e03a113a69a..347b87c0d93e 100644
--- a/specification/botservice/resource-manager/readme.azureresourceschema.md
+++ b/specification/botservice/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-botservice-2021-03-01
- tag: schema-botservice-2020-06-02
- tag: schema-botservice-2018-07-12
- tag: schema-botservice-2017-12-01
@@ -14,6 +15,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-botservice-2021-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-botservice-2021-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BotService/stable/2021-03-01/botservice.json
+
+```
+
### Tag: schema-botservice-2020-06-02 and azureresourceschema
``` yaml $(tag) == 'schema-botservice-2020-06-02' && $(azureresourceschema)
diff --git a/specification/botservice/resource-manager/readme.go.md b/specification/botservice/resource-manager/readme.go.md
index cba88fc90ffa..cddfceefbd84 100644
--- a/specification/botservice/resource-manager/readme.go.md
+++ b/specification/botservice/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: botservice
clear-output-folder: true
```
diff --git a/specification/botservice/resource-manager/readme.md b/specification/botservice/resource-manager/readme.md
index 6e1824037d67..6b37cc5a4598 100644
--- a/specification/botservice/resource-manager/readme.md
+++ b/specification/botservice/resource-manager/readme.md
@@ -26,9 +26,27 @@ These are the global settings for the BotService API.
``` yaml
openapi-type: arm
-tag: package-2020-06-02
+tag: package-2021-03-01
```
+### Tag: package-2021-03-01
+
+These settings apply only when `--tag=package-2021-03-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-03-01'
+input-file:
+- Microsoft.BotService/stable/2021-03-01/botservice.json
+directive:
+ - suppress: R4009
+ from: botservice.json
+ reason: We don not yet support systemdata
+ - suppress: R3016
+ from: botservice.json
+ reason: app settings keys are case sensitive
+ - suppress: R3018
+ from: botservice.json
+ reason: app settings for ValidateAuthority needs to be boolean
+```
### Tag: package-2020-06-02
@@ -148,4 +166,3 @@ See readme.python.md file.
## AzureResourceSchema
See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-
diff --git a/specification/cdn/resource-manager/readme.go.md b/specification/cdn/resource-manager/readme.go.md
index 741124a99d6d..0e83e97655b2 100644
--- a/specification/cdn/resource-manager/readme.go.md
+++ b/specification/cdn/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: cdn
clear-output-folder: true
```
diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md
index 3ddcacbcf73e..d21e0732c347 100644
--- a/specification/cdn/resource-manager/readme.md
+++ b/specification/cdn/resource-manager/readme.md
@@ -152,7 +152,7 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-net
diff --git a/specification/cdn/resource-manager/readme.python.md b/specification/cdn/resource-manager/readme.python.md
index a92bd7c26941..1c9f4aca69ef 100644
--- a/specification/cdn/resource-manager/readme.python.md
+++ b/specification/cdn/resource-manager/readme.python.md
@@ -4,24 +4,30 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && $(track2)
python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.cdn
- package-name: azure-mgmt-cdn
- package-version: 2.0.0
- clear-output-folder: true
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.cdn
+package-name: azure-mgmt-cdn
+package-version: 2.0.0
+clear-output-folder: true
+modelerfour:
+ lenient-model-deduplication: true
+directive:
+ - from: swagger-document
+ where: $.definitions.DeliveryRuleAction.properties.name
+ transform: >
+ $['x-ms-enum'] = {
+ "name": "DeliveryRuleActionEnum",
+ "modelAsString": true
+ };
```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/cdn/azure-mgmt-cdn/azure/mgmt/cdn
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/cdn/azure-mgmt-cdn/azure/mgmt/cdn
```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/cdn/azure-mgmt-cdn
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/cdn/azure-mgmt-cdn
```
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
index 1292c7a93dcc..c24b52c938f2 100644
--- a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
@@ -17,8 +17,7 @@
"summary": "Gets the configuration profile for the Microsoft.ChangeAnalysis resource provider. The profile name should be always set to 'default'.",
"operationId": "ConfigurationProfile_Get",
"produces": [
- "application/json",
- "default"
+ "application/json"
],
"parameters": [
{
@@ -61,8 +60,7 @@
"application/json"
],
"produces": [
- "application/json",
- "default"
+ "application/json"
],
"parameters": [
{
@@ -116,8 +114,7 @@
"application/json"
],
"produces": [
- "application/json",
- "default"
+ "application/json"
],
"parameters": [
{
@@ -168,7 +165,7 @@
"summary": "Deletes existing configuration profile. The profile name should be always set to 'default'",
"operationId": "ConfigurationProfile_Delete",
"produces": [
- "default"
+ "application/json"
],
"parameters": [
{
@@ -210,8 +207,7 @@
"summary": "Lists all the supported operations by the Microsoft.ChangeAnalysis resource provider along with their descriptions.",
"operationId": "Operations_List",
"produces": [
- "application/json",
- "default"
+ "application/json"
],
"parameters": [
{
diff --git a/specification/changeanalysis/resource-manager/readme.azureresourceschema.md b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md
index 1ff06754928a..336f05c5f536 100644
--- a/specification/changeanalysis/resource-manager/readme.azureresourceschema.md
+++ b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md
@@ -6,12 +6,24 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-changeanalysis-2021-04-01
- tag: schema-changeanalysis-2020-04-01-preview
```
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-changeanalysis-2021-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-changeanalysis-2021-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ChangeAnalysis/stable/2021-04-01/changeanalysis.json
+
+```
+
### Tag: schema-changeanalysis-2020-04-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-changeanalysis-2020-04-01-preview' && $(azureresourceschema)
diff --git a/specification/changeanalysis/resource-manager/readme.go.md b/specification/changeanalysis/resource-manager/readme.go.md
index 5af9d67116a1..7fbc3751498c 100644
--- a/specification/changeanalysis/resource-manager/readme.go.md
+++ b/specification/changeanalysis/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: changeanalysis
clear-output-folder: true
```
@@ -13,9 +13,20 @@ go:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-04-01
- tag: package-2020-04-01-preview
```
+
+### Tag: package-2021-04-01 and go
+
+These settings apply only when `--tag=package-2021-04-01 --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-04-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-04-01/$(namespace)
+```
+
### Tag: package-2020-04-01-preview and go
These settings apply only when `--tag=package-2020-04-01-preview --go` is specified on the command line.
diff --git a/specification/changeanalysis/resource-manager/readme.md b/specification/changeanalysis/resource-manager/readme.md
index 869e303efc39..06b4fdda20bb 100644
--- a/specification/changeanalysis/resource-manager/readme.md
+++ b/specification/changeanalysis/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the changeanalysis.
``` yaml
openapi-type: arm
-tag: package-2020-04-01-preview
+tag: package-2021-04-01
```
### Tag: package-2020-04-01-preview
@@ -58,7 +58,7 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/changeanalysis/resource-manager/readme.python.md b/specification/changeanalysis/resource-manager/readme.python.md
index 5bfa3618bd78..7fc459b3f738 100644
--- a/specification/changeanalysis/resource-manager/readme.python.md
+++ b/specification/changeanalysis/resource-manager/readme.python.md
@@ -3,19 +3,21 @@
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.ChangeAnalysis
- package-name: changeanalysis
- package-version: 2020-04-01-preview
- clear-output-folder: true
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: Microsoft.ChangeAnalysis
+package-name: azure-mgmt-changeanalysis
+package-version: 1.0.0b1
+clear-output-folder: true
```
-```yaml $(python)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt/changeanalysis
+```yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/changeanalysis/azure-mgmt-changeanalysis/azure/mgmt/changeanalysis
+```
+
+```yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/changeanalysis/azure-mgmt-changeanalysis
```
diff --git a/specification/changeanalysis/resource-manager/readme.typescript.md b/specification/changeanalysis/resource-manager/readme.typescript.md
index 63e73c265818..297e1ddf6cfc 100644
--- a/specification/changeanalysis/resource-manager/readme.typescript.md
+++ b/specification/changeanalysis/resource-manager/readme.typescript.md
@@ -6,8 +6,8 @@ Please also specify `--typescript-sdks-folder=`.
-``` yaml $(java)
-java:
- azure-arm: true
- namespace: com.microsoft.azure.cognitiveservices.anomalydetector
- license-header: MICROSOFT_MIT_NO_CODEGEN
- payload-flattening-threshold: 1
- output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/anomalydetector
- with-optional-parameters: true
- with-single-async-method: true
- regenerate-manager: true
+```yaml $(java)
+azure-arm: true
+namespace: com.microsoft.azure.cognitiveservices.anomalydetector
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/anomalydetector
+with-optional-parameters: true
+with-single-async-method: true
+regenerate-manager: true
```
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -90,14 +96,13 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/stable/v1.0/AnomalyDetector.json
-
+ - $(this-folder)/preview/v1.1-preview/MultivariateAnomalyDetector.json
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
+#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md
index f02d74f86624..de85be7e605a 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml
+```yaml $(python)
python-mode: create
license-header: MICROSOFT_MIT_NO_VERSION
add-credentials: true
@@ -16,11 +16,13 @@ package-name: azure-ai-anomalydetector
package-version: 0.2.0
clear-output-folder: true
```
-``` yaml $(python-mode) == 'update'
+
+```yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
output-folder: $(python-sdks-folder)/anomalydetector/azure-ai-anomalydetector/azure/ai/anomalydetector
```
-``` yaml $(python-mode) == 'create'
+
+```yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
output-folder: $(python-sdks-folder)/anomalydetector/azure-ai-anomalydetector
```
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.ruby.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.ruby.md
deleted file mode 100644
index 5ea0ff43e459..000000000000
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.ruby.md
+++ /dev/null
@@ -1,27 +0,0 @@
-## Ruby
-
-These settings apply only when `--ruby` is specified on the command line.
-
-``` yaml
-package-name: azure_cognitiveservices_anomalydetector
-package-version: "0.16.0"
-azure-arm: true
-```
-
-### Ruby multi-api
-
-``` yaml $(ruby) && $(multiapi)
-batch:
- - tag: release_1_0
-```
-
-### Tag: release_1_0 and ruby
-
-These settings apply only when `--tag=release_1_0 --ruby` is specified on the command line.
-Please also specify `--ruby-sdks-folder=`.
-
-``` yaml $(tag) == 'release_1_0' && $(ruby)
-namespace: "Azure::CognitiveServices::AnomalyDetector::V1_0"
-output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_anomalydetector/lib
-title: "AnomalyDetectorClient"
-```
diff --git a/specification/cognitiveservices/data-plane/AutoSuggest/readme.go.md b/specification/cognitiveservices/data-plane/AutoSuggest/readme.go.md
index 51191370d554..d47b10ca71cc 100644
--- a/specification/cognitiveservices/data-plane/AutoSuggest/readme.go.md
+++ b/specification/cognitiveservices/data-plane/AutoSuggest/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: autosuggest
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md
index 1386894f71a3..4010316f26f8 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md
+++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: computervision
clear-output-folder: true
```
@@ -17,6 +17,7 @@ batch:
- tag: release_2_1
- tag: release_3_0
- tag: release_3_1
+ - tag: release_3_2
```
### Tag: release_2_0 and go
@@ -62,4 +63,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_3_2' && $(go)
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.2/$(namespace)
```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.md
index 5dd5359153e8..2611a60db70e 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_1`.
+The current release is `release_3_2`.
``` yaml
-tag: release_3_1
+tag: release_3_2
add-credentials: true
openapi-type: data-plane
```
@@ -74,6 +74,15 @@ input-file:
- preview/v3.2-preview.2/Ocr.json
```
+### Release 3.2
+These settings apply only when `--tag=release_3_2` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_2'
+input-file:
+ - stable/v3.2/ComputerVision.json
+ - stable/v3.2/Ocr.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -119,13 +128,16 @@ Use `--python-mode=update` if you already have a setup.py and just want to updat
``` yaml $(python)
python-mode: create
-python:
- license-header: MICROSOFT_MIT_NO_VERSION
- add-credentials: true
- payload-flattening-threshold: 2
- namespace: azure.cognitiveservices.vision.computervision
- package-name: azure-cognitiveservices-vision-computervision
- clear-output-folder: true
+license-header: MICROSOFT_MIT_NO_VERSION
+add-credentials: true
+payload-flattening-threshold: 2
+namespace: azure.cognitiveservices.vision.computervision
+package-name: azure-cognitiveservices-vision-computervision
+clear-output-folder: true
+use: "@microsoft.azure/autorest.python@~4.0.71"
+version: V2
+multiapi: true
+no-async: true
directive:
from: source-file-python
@@ -134,14 +146,12 @@ directive:
$ = $.replace( /self, mode, url,/g, "self, url, mode," );
```
``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-vision-computervision/azure/cognitiveservices/vision/computervision
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-vision-computervision/azure/cognitiveservices/vision/computervision
```
``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-vision-computervision
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-vision-computervision
```
## Go
@@ -193,6 +203,8 @@ input-file:
- $(this-folder)/stable/v3.0/Ocr.json
- $(this-folder)/preview/v3.1-preview.2/Ocr.json
- $(this-folder)/preview/v3.2-preview.2/Ocr.json
+ - $(this-folder)/stable/v3.2/ComputerVision.json
+ - $(this-folder)/stable/v3.2/Ocr.json
```
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md
index b93a320d0992..9def9493044d 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md
+++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.ruby.md
@@ -52,4 +52,15 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'release_3_2' && $(ruby)
+namespace: "Azure::CognitiveServices::ComputerVision::V3_2"
+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.2/ComputerVision.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/ComputerVision.json
new file mode 100644
index 000000000000..298531bf24c6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/ComputerVision.json
@@ -0,0 +1,1922 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.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.2",
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "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/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image description object.",
+ "schema": {
+ "$ref": "#/definitions/ImageDescription"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response include the detected objects in JSON format.",
+ "schema": {
+ "$ref": "#/definitions/DetectResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Analysis result based on the domain model.",
+ "schema": {
+ "$ref": "#/definitions/DomainModelResults"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "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/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image tags object.",
+ "schema": {
+ "$ref": "#/definitions/TagResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The generated thumbnail in binary format.",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "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/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ "modelVersion": {
+ "$ref": "#/definitions/ModelVersion"
+ }
+ },
+ "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
+ },
+ "ModelVersion": {
+ "description": "Version of the AI model.",
+ "type": "string",
+ "pattern": "^(latest|\\d{4}-\\d{2}-\\d{2})(-preview)?$",
+ "x-nullable": false
+ },
+ "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"
+ },
+ "modelVersion": {
+ "$ref": "#/definitions/ModelVersion"
+ }
+ },
+ "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"
+ },
+ "modelVersion": {
+ "$ref": "#/definitions/ModelVersion"
+ }
+ },
+ "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"
+ },
+ "modelVersion": {
+ "$ref": "#/definitions/ModelVersion"
+ }
+ },
+ "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
+ },
+ "modelVersion": {
+ "$ref": "#/definitions/ModelVersion"
+ }
+ },
+ "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"
+ },
+ "modelVersion": {
+ "$ref": "#/definitions/ModelVersion"
+ }
+ },
+ "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"
+ },
+ "modelVersion": {
+ "$ref": "#/definitions/ModelVersion"
+ }
+ },
+ "x-nullable": true
+ },
+ "ImageUrl": {
+ "required": [
+ "url"
+ ],
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Publicly reachable URL of an image.",
+ "type": "string"
+ }
+ }
+ },
+ "ComputerVisionErrorResponse": {
+ "description": "The API error response.",
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "Error contents.",
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "ComputerVisionError": {
+ "description": "The API request error.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "enum": [
+ "InvalidRequest",
+ "InvalidArgument",
+ "InternalServerError",
+ "ServiceUnavailable"
+ ],
+ "x-ms-enum": {
+ "name": "ComputerVisionErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ },
+ "innererror": {
+ "$ref": "#/definitions/ComputerVisionInnerError",
+ "description": "Inner error contains more specific information."
+ }
+ }
+ },
+ "ComputerVisionInnerError": {
+ "description": "Details about the API request error.",
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "enum": [
+ "InvalidImageFormat",
+ "UnsupportedMediaType",
+ "InvalidImageUrl",
+ "NotSupportedFeature",
+ "NotSupportedImage",
+ "Timeout",
+ "InternalServerError",
+ "InvalidImageSize",
+ "BadArgument",
+ "DetectFaceError",
+ "NotSupportedLanguage",
+ "InvalidThumbnailSize",
+ "InvalidDetails",
+ "InvalidModel",
+ "CancelledRequest",
+ "NotSupportedVisualFeature",
+ "FailedToProcess",
+ "Unspecified",
+ "StorageException"
+ ],
+ "x-ms-enum": {
+ "name": "ComputerVisionInnerErrorCodeValue",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+ }
+ }
+ },
+ "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
+ },
+ "ModelVersion": {
+ "name": "model-version",
+ "in": "query",
+ "description": "Optional parameter to specify the version of the AI model. Accepted values are: \"latest\", \"2021-04-01\". Defaults to \"latest\".",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "pattern": "^(latest|\\d{4}-\\d{2}-\\d{2})(-preview)?$",
+ "default": "latest"
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "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/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "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/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image description object.",
+ "schema": {
+ "$ref": "#/definitions/ImageDescription"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response include the detected objects in JSON format.",
+ "schema": {
+ "$ref": "#/definitions/DetectResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The generated thumbnail in binary format.",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Analysis result based on the domain model.",
+ "schema": {
+ "$ref": "#/definitions/DomainModelResults"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "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/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "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"
+ },
+ {
+ "$ref": "#/parameters/ModelVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Image tags object.",
+ "schema": {
+ "$ref": "#/definitions/TagResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful TagImage request": {
+ "$ref": "./examples/SuccessfulTagImageWithStream.json"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/Ocr.json
new file mode 100644
index 000000000000..69b91791d362
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/Ocr.json
@@ -0,0 +1,599 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.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.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"
+ },
+ {
+ "$ref": "#/parameters/OcrModelVersion"
+ }
+ ],
+ "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/ComputerVisionOcrError"
+ }
+ }
+ },
+ "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/ComputerVisionOcrError"
+ }
+ }
+ },
+ "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/ComputerVisionOcrError"
+ }
+ }
+ },
+ "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",
+ "modelVersion",
+ "readResults"
+ ],
+ "properties": {
+ "version": {
+ "description": "Version of schema used for this result.",
+ "type": "string"
+ },
+ "modelVersion": {
+ "description": "Version of the OCR model used for text extraction.",
+ "type": "string",
+ "pattern": "^(latest|\\d{4}-\\d{2}-\\d{2})(-preview)?$"
+ },
+ "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": "Appearance 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 appearance of the text line.",
+ "type": "object",
+ "required": [
+ "style"
+ ],
+ "properties": {
+ "style": {
+ "description": "An object representing the style of the text line.",
+ "type": "object",
+ "$ref": "#/definitions/Style"
+ }
+ }
+ },
+ "Style": {
+ "description": "An object representing the style of the text line.",
+ "type": "object",
+ "required": [
+ "name",
+ "confidence"
+ ],
+ "properties": {
+ "name": {
+ "description": "The text line style name, including handwriting and other.",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TextStyle",
+ "modelAsString": true
+ },
+ "enum": [
+ "other",
+ "handwriting"
+ ]
+ },
+ "confidence": {
+ "description": "The confidence of text line style.",
+ "type": "number",
+ "format": "float"
+ }
+ }
+ },
+ "ComputerVisionOcrError": {
+ "description": "Details about the API request error.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "InvalidImageFormat",
+ "UnsupportedMediaType",
+ "InvalidImageUrl",
+ "InternalServerError",
+ "InvalidImageSize",
+ "BadArgument",
+ "NotSupportedLanguage",
+ "FailedToProcess",
+ "Unspecified",
+ "StorageException",
+ "InvalidPageRange",
+ "FailedToDownloadImage",
+ "InvalidImage",
+ "UnsupportedImageFormat",
+ "InvalidImageDimension",
+ "InvalidReadingOrder",
+ "InvalidRequest"
+ ],
+ "x-ms-enum": {
+ "name": "ComputerVisionOcrErrorCodes",
+ "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. Read supports auto language identification and multi-language documents, so only provide a language code if you would like to force the document to be processed in that specific language. See https://aka.ms/ocr-languages for list of supported languages.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OcrDetectionLanguage",
+ "modelAsString": true
+ },
+ "enum": [
+ "af",
+ "ast",
+ "bi",
+ "br",
+ "ca",
+ "ceb",
+ "ch",
+ "co",
+ "crh",
+ "cs",
+ "csb",
+ "da",
+ "de",
+ "en",
+ "es",
+ "et",
+ "eu",
+ "fi",
+ "fil",
+ "fj",
+ "fr",
+ "fur",
+ "fy",
+ "ga",
+ "gd",
+ "gil",
+ "gl",
+ "gv",
+ "hni",
+ "hsb",
+ "ht",
+ "hu",
+ "ia",
+ "id",
+ "it",
+ "iu",
+ "ja",
+ "jv",
+ "kaa",
+ "kac",
+ "kea",
+ "kha",
+ "kl",
+ "ko",
+ "ku",
+ "kw",
+ "lb",
+ "ms",
+ "mww",
+ "nap",
+ "nl",
+ "no",
+ "oc",
+ "pl",
+ "pt",
+ "quc",
+ "rm",
+ "sco",
+ "sl",
+ "sq",
+ "sv",
+ "sw",
+ "tet",
+ "tr",
+ "tt",
+ "uz",
+ "vo",
+ "wae",
+ "yua",
+ "za",
+ "zh-Hans",
+ "zh-Hant",
+ "zu"
+ ]
+ },
+ "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.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^(\\d+|\\d+-\\d+|\\d+-|-\\d+)$"
+ },
+ "collectionFormat": "csv"
+ },
+ "OcrModelVersion": {
+ "name": "model-version",
+ "in": "query",
+ "description": "Optional parameter to specify the version of the OCR model used for text extraction. Accepted values are: \"latest\", \"latest-preview\", \"2021-04-12\". Defaults to \"latest\".",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "pattern": "^(latest|\\d{4}-\\d{2}-\\d{2})(-preview)?$",
+ "default": "latest"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulAnalyzeImageByDomainWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulAnalyzeImageByDomainWithStream.json
new file mode 100644
index 000000000000..70be2cbd2de5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulAnalyzeImageByDomainWithStream.json
@@ -0,0 +1,35 @@
+{
+ "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"
+ },
+ "modelVersion": "2021-04-01",
+ "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.2/examples/SuccessfulAnalyzeImageByDomainWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulAnalyzeImageByDomainWithUrl.json
new file mode 100644
index 000000000000..73b6148ffced
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulAnalyzeImageByDomainWithUrl.json
@@ -0,0 +1,37 @@
+{
+ "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"
+ },
+ "modelVersion": "2021-04-01",
+ "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.2/examples/SuccessfulAnalyzeImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulAnalyzeImageWithStream.json
new file mode 100644
index 000000000000..41bd2de74175
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulAnalyzeImageWithStream.json
@@ -0,0 +1,177 @@
+{
+ "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"
+ },
+ "modelVersion": "2021-04-01",
+ "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.2/examples/SuccessfulAnalyzeImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulAnalyzeImageWithUrl.json
new file mode 100644
index 000000000000..0fcf0b823cfa
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulAnalyzeImageWithUrl.json
@@ -0,0 +1,185 @@
+{
+ "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"
+ },
+ "modelVersion": "2021-04-01",
+ "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.2/examples/SuccessfulDescribeImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDescribeImageWithStream.json
new file mode 100644
index 000000000000..c3b7e378e3da
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDescribeImageWithStream.json
@@ -0,0 +1,37 @@
+{
+ "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
+ }
+ ]
+ },
+ "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f",
+ "metadata": {
+ "width": 1500,
+ "height": 1000,
+ "format": "Jpeg"
+ },
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDescribeImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDescribeImageWithUrl.json
new file mode 100644
index 000000000000..aaee672b6b46
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDescribeImageWithUrl.json
@@ -0,0 +1,39 @@
+{
+ "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
+ }
+ ]
+ },
+ "requestId": "ed2de1c6-fb55-4686-b0da-4da6e05d283f",
+ "metadata": {
+ "width": 1500,
+ "height": 1000,
+ "format": "Jpeg"
+ },
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDetectObjectsWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDetectObjectsWithStream.json
new file mode 100644
index 000000000000..38616a387336
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDetectObjectsWithStream.json
@@ -0,0 +1,36 @@
+{
+ "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"
+ },
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDetectObjectsWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDetectObjectsWithUrl.json
new file mode 100644
index 000000000000..8a4713cea2cf
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulDetectObjectsWithUrl.json
@@ -0,0 +1,38 @@
+{
+ "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"
+ },
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGenerateThumbnailWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGenerateThumbnailWithStream.json
new file mode 100644
index 000000000000..22d52fbe7644
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/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.2/examples/SuccessfulGenerateThumbnailWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGenerateThumbnailWithUrl.json
new file mode 100644
index 000000000000..28744179ecb8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/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.2/examples/SuccessfulGetAreaOfInterestWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGetAreaOfInterestWithStream.json
new file mode 100644
index 000000000000..903846529d23
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGetAreaOfInterestWithStream.json
@@ -0,0 +1,27 @@
+{
+ "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
+ },
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGetAreaOfInterestWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGetAreaOfInterestWithUrl.json
new file mode 100644
index 000000000000..debd602cf123
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGetAreaOfInterestWithUrl.json
@@ -0,0 +1,29 @@
+{
+ "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
+ },
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGetReadResult.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGetReadResult.json
new file mode 100644
index 000000000000..a331e0487ac7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulGetReadResult.json
@@ -0,0 +1,394 @@
+{
+ "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.2",
+ "modelVersion": "2021-04-12",
+ "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": {
+ "name": "other",
+ "confidence": 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": {
+ "name": "handwriting",
+ "confidence": 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": {
+ "name": "other",
+ "confidence": 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": {
+ "name": "handwriting",
+ "confidence": 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/stable/v3.2/examples/SuccessfulListModels.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulListModels.json
new file mode 100644
index 000000000000..54e72d376431
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/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.2/examples/SuccessfulReadWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulReadWithStream.json
new file mode 100644
index 000000000000..f10e496a1170
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.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.2/read/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulReadWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulReadWithUrl.json
new file mode 100644
index 000000000000..cca2904b541d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.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.2/read/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulRecognizePrintedTextWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulRecognizePrintedTextWithStream.json
new file mode 100644
index 000000000000..c3be0893dc39
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulRecognizePrintedTextWithStream.json
@@ -0,0 +1,78 @@
+{
+ "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"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulRecognizePrintedTextWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulRecognizePrintedTextWithUrl.json
new file mode 100644
index 000000000000..19d6dbfee79b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulRecognizePrintedTextWithUrl.json
@@ -0,0 +1,80 @@
+{
+ "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"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulTagImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulTagImageWithStream.json
new file mode 100644
index 000000000000..8a05accf50f9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulTagImageWithStream.json
@@ -0,0 +1,54 @@
+{
+ "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"
+ },
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulTagImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulTagImageWithUrl.json
new file mode 100644
index 000000000000..82d98b2a5dcf
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v3.2/examples/SuccessfulTagImageWithUrl.json
@@ -0,0 +1,56 @@
+{
+ "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"
+ },
+ "modelVersion": "2021-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ContentModerator/readme.go.md b/specification/cognitiveservices/data-plane/ContentModerator/readme.go.md
index 554ae9bbae68..d4619807a82b 100644
--- a/specification/cognitiveservices/data-plane/ContentModerator/readme.go.md
+++ b/specification/cognitiveservices/data-plane/ContentModerator/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: contentmoderator
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/CustomImageSearch/readme.go.md b/specification/cognitiveservices/data-plane/CustomImageSearch/readme.go.md
index 85b113782f7b..5b8cff16b279 100644
--- a/specification/cognitiveservices/data-plane/CustomImageSearch/readme.go.md
+++ b/specification/cognitiveservices/data-plane/CustomImageSearch/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: customimagesearch
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md
index 94109533a0d7..2527f2f05fa9 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: prediction
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
index e772a9b2b5db..ef79e0d52c45 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: training
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/CustomWebSearch/readme.go.md b/specification/cognitiveservices/data-plane/CustomWebSearch/readme.go.md
index 98124fcd1a4f..8dc118576091 100644
--- a/specification/cognitiveservices/data-plane/CustomWebSearch/readme.go.md
+++ b/specification/cognitiveservices/data-plane/CustomWebSearch/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: customsearch
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/EntitySearch/readme.go.md b/specification/cognitiveservices/data-plane/EntitySearch/readme.go.md
index af1d8fc4eddc..194916a7ba62 100644
--- a/specification/cognitiveservices/data-plane/EntitySearch/readme.go.md
+++ b/specification/cognitiveservices/data-plane/EntitySearch/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: entitysearch
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/Face/readme.go.md b/specification/cognitiveservices/data-plane/Face/readme.go.md
index a5217486e00b..b7192cbee481 100644
--- a/specification/cognitiveservices/data-plane/Face/readme.go.md
+++ b/specification/cognitiveservices/data-plane/Face/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: face
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/Face/readme.python.md b/specification/cognitiveservices/data-plane/Face/readme.python.md
index 88b4872b7bad..f99d9fb74eb0 100644
--- a/specification/cognitiveservices/data-plane/Face/readme.python.md
+++ b/specification/cognitiveservices/data-plane/Face/readme.python.md
@@ -6,21 +6,23 @@ Use `--python-mode=update` if you already have a setup.py and just want to updat
``` yaml $(python)
python-mode: create
-python:
- license-header: MICROSOFT_MIT_NO_VERSION
- add-credentials: true
- payload-flattening-threshold: 2
- namespace: azure.cognitiveservices.vision.face
- package-name: azure-cognitiveservices-vision-face
- clear-output-folder: true
+license-header: MICROSOFT_MIT_NO_VERSION
+add-credentials: true
+payload-flattening-threshold: 2
+namespace: azure.cognitiveservices.vision.face
+package-name: azure-cognitiveservices-vision-face
+clear-output-folder: false
+use: "@microsoft.azure/autorest.python@~4.0.71"
+version: V2
+multiapi: true
+no-async: true
```
``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-vision-face/azure/cognitiveservices/vision/face
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-vision-face/azure/cognitiveservices/vision/face
+keep-version-file: true
```
``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-vision-face
-```
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitives
+```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/FormRecognizer.json
new file mode 100644
index 000000000000..0083ed13d38e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/FormRecognizer.json
@@ -0,0 +1,2361 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.1-preview.3",
+ "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.3",
+ "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' or 'image/bmp'. 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', 'image/tiff' or 'image/bmp'. 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",
+ "image/bmp"
+ ],
+ "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/Pages"
+ },
+ {
+ "$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', 'image/tiff' or 'image/bmp'. 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",
+ "image/bmp"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/Locale"
+ },
+ {
+ "$ref": "#/parameters/Pages"
+ },
+ {
+ "$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/invoice/analyze": {
+ "post": {
+ "summary": "Analyze Invoice Document",
+ "description": "Extract field text and semantic values from a given invoice document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.",
+ "operationId": "AnalyzeInvoiceAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff",
+ "image/bmp"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/Locale"
+ },
+ {
+ "$ref": "#/parameters/Pages"
+ },
+ {
+ "$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/InvoiceBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/prebuilt/invoice/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Invoice Result",
+ "description": "Track the progress and obtain the result of the analyze invoice operation.",
+ "operationId": "GetAnalyzeInvoiceResult",
+ "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/InvoiceBatchResult.json"
+ }
+ }
+ }
+ },
+ "/prebuilt/idDocument/analyze": {
+ "post": {
+ "summary": "Analyze ID Document",
+ "description": "Extract field text and semantic values from a given ID document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' or 'image/bmp'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.",
+ "operationId": "AnalyzeIdDocumentAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff",
+ "image/bmp"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/Pages"
+ },
+ {
+ "$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 ID": {
+ "$ref": "./examples/IDDocumentBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/prebuilt/idDocument/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze ID Document Result",
+ "description": "Track the progress and obtain the result of the analyze ID operation.",
+ "operationId": "GetAnalyzeIdDocumentResult",
+ "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 ID result": {
+ "$ref": "./examples/IDDocumentBatchResult.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', 'image/tiff' or 'image/bmp'. 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",
+ "image/bmp"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/Locale"
+ },
+ {
+ "$ref": "#/parameters/Pages"
+ },
+ {
+ "$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', 'image/tiff' or 'image/bmp'. 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",
+ "image/bmp"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/FileStream"
+ },
+ {
+ "$ref": "#/parameters/Pages"
+ },
+ {
+ "$ref": "#/parameters/Language"
+ },
+ {
+ "$ref": "#/parameters/ReadingOrder"
+ }
+ ],
+ "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
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "words": {
+ "description": "List of words in the text line.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextWord"
+ }
+ },
+ "appearance": {
+ "description": "Text appearance properties.",
+ "$ref": "#/definitions/Appearance"
+ }
+ }
+ },
+ "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",
+ "boundingBox"
+ ],
+ "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"
+ }
+ },
+ "boundingBox": {
+ "description": "Bounding box of the table.",
+ "$ref": "#/definitions/BoundingBox"
+ }
+ }
+ },
+ "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
+ },
+ "valueGender": {
+ "description": "Gender value: M, F, or X.",
+ "type": "string",
+ "enum": [
+ "M",
+ "F",
+ "X"
+ ],
+ "x-nullable": false
+ },
+ "valueCountry": {
+ "description": "3-letter country code (ISO 3166-1 alpha-3).",
+ "type": "string",
+ "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",
+ "gender",
+ "country"
+ ],
+ "x-ms-enum": {
+ "name": "FieldValueType",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "Confidence": {
+ "description": "Confidence value.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1,
+ "x-nullable": false
+ },
+ "Appearance": {
+ "description": "An object representing the appearance of the text line.",
+ "type": "object",
+ "required": [
+ "style"
+ ],
+ "properties": {
+ "style": {
+ "description": "An object representing the style of the text line.",
+ "type": "object",
+ "$ref": "#/definitions/Style"
+ }
+ }
+ },
+ "Style": {
+ "description": "An object representing the style of the text line.",
+ "type": "object",
+ "required": [
+ "name",
+ "confidence"
+ ],
+ "properties": {
+ "name": {
+ "description": "The text line style name, including handwriting and other.",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TextStyle",
+ "modelAsString": true
+ },
+ "enum": [
+ "other",
+ "handwriting"
+ ]
+ },
+ "confidence": {
+ "description": "The confidence of text line style.",
+ "type": "number",
+ "format": "float"
+ }
+ }
+ }
+ },
+ "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, .tiff or .bmp type file stream.",
+ "x-ms-parameter-location": "method",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/SourcePath"
+ }
+ },
+ "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.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "(^[0-9]+-[0-9]+$)|(^[0-9]+$)"
+ }
+ },
+ "Locale": {
+ "name": "locale",
+ "in": "query",
+ "description": "Locale of the input document. Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US(default).",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "en-AU",
+ "en-CA",
+ "en-GB",
+ "en-IN",
+ "en-US"
+ ],
+ "x-ms-enum": {
+ "name": "Locale",
+ "modelAsString": true
+ }
+ },
+ "Language": {
+ "name": "language",
+ "in": "query",
+ "description": "Currently, only Afrikaans (‘af’), Albanian (‘sq’), Asturian (‘ast’), Basque (‘eu’), Bislama (‘bi’), Breton (‘br’), Catalan (‘ca’), Cebuano (‘ceb’), Chamorro (‘ch’), Cornish (‘kw’), Corsican (‘co’), Crimean Tatar - Latin script(‘crh’), Czech (‘cs’), Danish (‘da’), Dutch (‘nl’), English ('en'), Estonian (‘et’), Fijian (‘fj’), Filipino (‘fil’), Finnish (‘fi’), French (‘fr’), Friulian (‘fur’), Galician (‘gl’), German (‘de’), Gilbertese (‘gil’), Greenlandic (‘kl’), Haitian Creole (‘ht’), Hani (‘hni’), Hmong Daw (‘mww’), Hungarian (‘hu’), Indonesian (‘id’), Interlingua (‘ia’), Inuktitut (‘iu’), Irish (‘ga’), Italian (‘it’), Japanese (‘ja’), Javanese (‘jv’), Kabuverdianu (‘kea’), Kachin (‘kac’), Kara-Kalpak (‘kaa’), Kashubian (‘csb’), Khasi (‘kha’), Korean (‘ko’), Kurdish - Latin script (‘ku’), K’iche’ (‘quc’), Luxembourgish (‘lb’), Malay (‘ms’), Manx (‘gv’), Neapolitan (‘nap’), Norwegian (‘no’), Occitan (‘oc’), Polish (‘pl’), Portuguese (‘pt’), Romansh (‘rm’), Scots (‘sco’), Scottish Gaelic (‘gd’), simplified Chinese (‘zh-Hans’), Slovenian (‘sl’), Spanish (‘es’), Swahili (‘sw’), Swedish (‘sv’), Tatar - Latin script (‘tt’), Tetum (‘tet’), traditional Chinese (‘zh-Hant’), Turkish (‘tr’), Upper Sorbian (‘hsb’), Uzbek (‘uz’), Volapük (‘vo’), Walser (‘wae’), Western Frisian (‘fy’), Yucatec Maya (‘yua’), Zhuang (‘za’) and Zulu (‘zu’) are supported (print – seventy-three languages and handwritten – English only). Layout 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,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "af",
+ "ast",
+ "bi",
+ "br",
+ "ca",
+ "ceb",
+ "ch",
+ "co",
+ "crh",
+ "cs",
+ "csb",
+ "da",
+ "de",
+ "en",
+ "es",
+ "et",
+ "eu",
+ "fi",
+ "fil",
+ "fj",
+ "fr",
+ "fur",
+ "fy",
+ "ga",
+ "gd",
+ "gil",
+ "gl",
+ "gv",
+ "hni",
+ "hsb",
+ "ht",
+ "hu",
+ "ia",
+ "id",
+ "it",
+ "iu",
+ "ja",
+ "jv",
+ "kaa",
+ "kac",
+ "kea",
+ "kha",
+ "kl",
+ "ko",
+ "ku",
+ "kw",
+ "lb",
+ "ms",
+ "mww",
+ "nap",
+ "nl",
+ "no",
+ "oc",
+ "pl",
+ "pt",
+ "quc",
+ "rm",
+ "sco",
+ "sl",
+ "sq",
+ "sv",
+ "sw",
+ "tet",
+ "tr",
+ "tt",
+ "uz",
+ "vo",
+ "wae",
+ "yua",
+ "za",
+ "zh-Hans",
+ "zh-Hant",
+ "zu"
+ ],
+ "x-ms-enum": {
+ "name": "Language",
+ "modelAsString": true
+ }
+ },
+ "ReadingOrder": {
+ "name": "readingOrder",
+ "in": "query",
+ "description": "Reading order algorithm to sort the text lines returned. Supported reading orders include: basic(default), natural.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "default": "basic",
+ "type": "string",
+ "enum": [
+ "basic",
+ "natural"
+ ],
+ "x-ms-enum": {
+ "name": "ReadingOrder",
+ "modelAsString": false
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/AnalyzeBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/AnalyzeBatch.json
new file mode 100644
index 000000000000..fb60f1c7873d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/custom/models/{modelId}/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/AnalyzeOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/AnalyzeOperationResult.json
new file mode 100644
index 000000000000..5b8a65ac0a6b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/BusinessCardBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/BusinessCardBatch.json
new file mode 100644
index 000000000000..2060d64fd112
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/prebuilt/businessCard/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/BusinessCardBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/BusinessCardBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/ComposeModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/ComposeModels.json
new file mode 100644
index 000000000000..395c16efd5bf
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/CopyModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/CopyModel.json
new file mode 100644
index 000000000000..1264bf7b56f6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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": 86400
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.3/custom/models/{modelId}/copyResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/CopyModelAuthorization.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/CopyModelAuthorization.json
new file mode 100644
index 000000000000..80d47ae7b3b2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/custom/models/{modelId}"
+ },
+ "body": {
+ "modelId": "{modelId}",
+ "accessToken": "{accessToken}",
+ "expirationDateTimeTicks": 86400
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/CopyOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/CopyOperationResult.json
new file mode 100644
index 000000000000..f7b7b1163884
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/CopyOperationResultWithErrors.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/CopyOperationResultWithErrors.json
new file mode 100644
index 000000000000..853dd73e595e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/DeleteModel.json
new file mode 100644
index 000000000000..c945ec953dd4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/GetModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/GetModel.json
new file mode 100644
index 000000000000..df1c4b66b252
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/GetModels.json
new file mode 100644
index 000000000000..36ee11465e4f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/GetModelsSummary.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/GetModelsSummary.json
new file mode 100644
index 000000000000..507495b78206
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/IDDocumentBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/IDDocumentBatch.json
new file mode 100644
index 000000000000..bbda08e784f1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/IDDocumentBatch.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.3/prebuilt/idDocument/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/IDDocumentBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/IDDocumentBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/IDDocumentBatchResult.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.3/examples/InvoiceBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/InvoiceBatch.json
new file mode 100644
index 000000000000..8714c17650d5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/InvoiceBatch.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.3/prebuilt/invoice/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/InvoiceBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/InvoiceBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/InvoiceBatchResult.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.3/examples/LayoutBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/LayoutBatch.json
new file mode 100644
index 000000000000..a489c3a75e6f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/layout/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/LayoutBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/LayoutBatchResult.json
new file mode 100644
index 000000000000..2a258bfe71bc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/ReceiptsBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/ReceiptsBatch.json
new file mode 100644
index 000000000000..18080f028272
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/prebuilt/receipt/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/ReceiptsBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/ReceiptsBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/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.3/examples/TrainBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/TrainBatch.json
new file mode 100644
index 000000000000..d1d689b0bf2a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/TrainBatch.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "{azure_blob_endpoint}/input/data1?sasToken"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.3/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/TrainBatchWithSubFolders.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/TrainBatchWithSubFolders.json
new file mode 100644
index 000000000000..e2b86256f2f8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.3/examples/TrainBatchWithSubFolders.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "{azure_blob_endpoint}/input/data1?sasToken",
+ "sourceFilter": {
+ "prefix": "",
+ "includeSubFolders": false
+ },
+ "useLabelFile": false
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.3/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md
index a3f839b98e64..fe5b98daf59b 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: formrecognizer
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
index 8dafb7c0ef9e..6a25653c414e 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
@@ -15,6 +15,13 @@ openapi-type: data-plane
# Releases
+### Release 2.1-preview.3
+These settings apply only when `--tag=release_2_1_preview.3` is specified on the command line.
+``` yaml $(tag) == 'release_2_1_preview.3'
+input-file:
+ - preview/v2.1-preview.3/FormRecognizer.json
+```
+
### Release 2.1-preview.2
These settings apply only when `--tag=release_2_1_preview.2` is specified on the command line.
``` yaml $(tag) == 'release_2_1_preview.2'
@@ -63,7 +70,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-node
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.python.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.python.md
index f129333bd856..a996460bdfcb 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.python.md
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.python.md
@@ -4,23 +4,38 @@ 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:
- license-header: MICROSOFT_MIT_NO_VERSION
- add-credentials: true
- payload-flattening-threshold: 2
- namespace: azure.cognitiveservices.formrecognizer
- package-name: azure-cognitiveservices-formrecognizer
- clear-output-folder: true
+
+``` yaml
+license-header: MICROSOFT_MIT_NO_VERSION
+add-credentials: true
+namespace: azure.ai.formrecognizer
+package-name: azure-ai-formrecognizer
+credential-scopes: https://cognitiveservices.azure.com/.default
+clear-output-folder: true
+no-namespace-folders: true
+```
+
+``` yaml $(tag) == 'release_2_0'
+namespace: azure.ai.formrecognizer.v2_0
+output-folder: $(python-sdks-folder)/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_generated/v2_0
+```
+
+``` yaml $(tag) == 'release_2_1_preview.3'
+namespace: azure.ai.formrecognizer.v2_1_preview_3
+output-folder: $(python-sdks-folder)/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_generated/v2_1_preview_3
```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-formrecognizer/azure/cognitiveservices/formrecognizer
+
+
+```yaml $(multiapi)
+batch:
+ - tag: release_2_0
+ - tag: release_2_1_preview.3
+ - multiapiscript: true
```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-formrecognizer
+
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_generated
+clear-output-folder: false
+perform-load: false
+default-api: 2.1-preview.3
```
diff --git a/specification/cognitiveservices/data-plane/ImageSearch/readme.go.md b/specification/cognitiveservices/data-plane/ImageSearch/readme.go.md
index f05151358d5a..9d4b4bd7737f 100644
--- a/specification/cognitiveservices/data-plane/ImageSearch/readme.go.md
+++ b/specification/cognitiveservices/data-plane/ImageSearch/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: imagesearch
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/InkRecognizer/preview/v1.0/InkRecognizer.json b/specification/cognitiveservices/data-plane/InkRecognizer/preview/v1.0/InkRecognizer.json
deleted file mode 100644
index 0c35b5809b15..000000000000
--- a/specification/cognitiveservices/data-plane/InkRecognizer/preview/v1.0/InkRecognizer.json
+++ /dev/null
@@ -1,688 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "1.0",
- "title": "Ink Recognizer Client",
- "description": "The service is used to perform ink layout and recognition of written words and shapes. Ink strokes passed to the service are recognized and organized into recognition results in the response"
- },
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "apim_key": []
- }
- ],
- "x-ms-parameterized-host": {
- "hostTemplate": "{Endpoint}/inkrecognizer/v1.0-preview",
- "parameters": [
- {
- "$ref": "#/parameters/Endpoint"
- }
- ]
- },
- "securityDefinitions": {
- "apim_key": {
- "type": "apiKey",
- "name": "Ocp-Apim-Subscription-Key",
- "in": "header"
- }
- },
- "paths": {
- "/recognize": {
- "put": {
- "tags": [
- "InkRecognizer"
- ],
- "operationId": "InkRecognizer_Recognize",
- "x-ms-examples": {
- "Identify a word written in ink": {
- "$ref": "./examples/InkWordRecognition.json"
- }
- },
- "description": "Ink Recognition operation is used to perform ink layout and recognition of written words and shapes. It allows passing the ink strokes to the service to get the recognition results in the response.",
- "parameters": [
- {
- "name": "body",
- "in": "body",
- "required": true,
- "description": "The collection of stroke objects to send for analysis",
- "schema": {
- "$ref": "#/definitions/analysisRequest"
- }
- },
- {
- "name": "x-ms-client-request-id",
- "in": "header",
- "description": "The request id used to uniquely identify each request during troubleshooting. This is an optional parameter useful for correlating logs and other artifacts.",
- "required": false,
- "type": "string",
- "x-ms-client-request-id": true
- }
- ],
- "responses": {
- "200": {
- "description": "The results were processed successfully.",
- "schema": {
- "$ref": "#/definitions/analysisResponse"
- }
- },
- "default": {
- "description": "unexpected error",
- "schema": {
- "$ref": "#/definitions/errorModel"
- }
- }
- }
- }
- }
- },
- "definitions": {
- "drawingAttributesPattern": {
- "type": "object",
- "description": "The properties to use when rendering ink",
- "properties": {
- "width": {
- "type": "number",
- "description": "The width of the stylus used to draw the stroke"
- },
- "color": {
- "type": "object",
- "description": "This shows the components of the color in rgba format",
- "properties": {
- "r": {
- "type": "number",
- "description": "The red component of the color"
- },
- "g": {
- "type": "number",
- "description": "The green component of the color"
- },
- "b": {
- "type": "number",
- "description": "The blue component of the color"
- },
- "a": {
- "type": "number",
- "description": "The alpha component of the color"
- }
- }
- },
- "height": {
- "type": "number",
- "description": "The height of the stylus used to draw the stroke"
- },
- "fitToCurve": {
- "type": "boolean",
- "description": " This indicates whether Bezier smoothing is used to render the stroke"
- },
- "rasterOp": {
- "type": "string",
- "enum": [
- "noOperation",
- "copyPen",
- "maskPen"
- ],
- "x-ms-enum": {
- "name": "rasterOp",
- "modelAsString": true
- }
- },
- "ignorePressure": {
- "type": "boolean",
- "description": " This indicates whether the thickness of a rendered Stroke changes according the amount of pressure applied."
- },
- "tip": {
- "type": "string",
- "description": "This specifies the tip to be used to draw a stroke",
- "enum": [
- "ellipse",
- "rectangle"
- ],
- "x-ms-enum": {
- "name": "tip",
- "modelAsString": true
- }
- }
- }
- },
- "pointDetailsPattern": {
- "type": "object",
- "description": "This holds all the properties of one point",
- "properties": {
- "x": {
- "type": "number",
- "description": "This represents the x coordinate of the point"
- },
- "y": {
- "type": "number",
- "description": "This represents the y coordinate of the point"
- }
- },
- "required": [
- "x",
- "y"
- ]
- },
- "shapePattern": {
- "type": "string",
- "description": "The category should be used to determines the field to read the recognition result. Recognized Object represents the shape that was recognized for the node with category as inkDrawing. For handwriting related nodes, recognizedText contains the actual recognition result.",
- "enum": [
- "drawing",
- "square",
- "rectangle",
- "circle",
- "ellipse",
- "triangle",
- "isoscelesTriangle",
- "equilateralTriangle",
- "rightTriangle",
- "quadrilateral",
- "diamond",
- "trapezoid",
- "parallelogram",
- "pentagon",
- "hexagon",
- "blockArrow",
- "heart",
- "starSimple",
- "starCrossed",
- "cloud",
- "line",
- "curve",
- "polyLine"
- ],
- "x-ms-enum": {
- "name": "shape",
- "modelAsString": true
- }
- },
- "classPattern": {
- "description": "The class represents the type of the recognition unit. A recognition unit can be a leaf node or a container node. Container nodes typically have leaf nodes as children.",
- "type": "string",
- "enum": [
- "container",
- "leaf"
- ]
- },
- "categoryPattern": {
- "type": "string",
- "description": "The category of a recognition unit represents the type of content for that unit.",
- "enum": [
- "root",
- "writingRegion",
- "paragraph",
- "line",
- "inkBullet",
- "inkDrawing",
- "inkWord",
- "unknown"
- ],
- "x-ms-enum": {
- "name": "category",
- "modelAsString": true
- }
- },
- "containerCategoryPattern": {
- "type": "string",
- "description": "The category of recognition units that represent types that have children recognition units.",
- "enum": [
- "root",
- "writingRegion",
- "paragraph",
- "line"
- ],
- "x-ms-enum": {
- "name": "container",
- "modelAsString": true
- }
- },
- "leafCategoryPattern": {
- "type": "string",
- "description": "The category of recognition units that represent types that don't have children recognition units.",
- "enum": [
- "inkDrawing",
- "inkBullet",
- "inkWord",
- "unknown"
- ],
- "x-ms-enum": {
- "name": "leaf",
- "modelAsString": true
- }
- },
- "alternatePattern": {
- "type": "array",
- "description": "The list of alternates for the core recognition result. In case of handwriting related recognition units, this list includes other words that are close possibilities to the results provided as 'recognizedText'.",
- "items": {
- "properties": {
- "category": {
- "$ref": "#/definitions/leafCategoryPattern"
- },
- "points": {
- "description": "Array of point objects that represent points that are relevant to the type of recognition unit. For example, for leaf node of inkDrawing category that represents a triangle, points would include the x,y coordinates of the vertices of the recognized triangle. The points represent the coordinates of points used to create the perfectly drawn shape that is closest to the original input. They may not exactly match.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/pointDetailsPattern"
- }
- },
- "rotationAngle": {
- "description": "The angular orientation of an object relative to the horizontal axis",
- "type": "number"
- },
- "confidence": {
- "type": "number",
- "description": "A number between 0 and 1 which indicates the confidence level in the result"
- },
- "recognizedString": {
- "type": "string",
- "description": "The recognized string from an inkWord or the name of a recognized shape in an inkDrawing object"
- }
- },
- "required": [
- "category",
- "recognizedString"
- ],
- "type": "object"
- }
- },
- "inkPointValueAttribute": {
- "type": "object",
- "description": "A container for the attributes of a value contained in the ink point object.",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the point attribute."
- },
- "logicalMinimum": {
- "type": "number",
- "description": "The minimum value for the attribute"
- },
- "logicalMaximum": {
- "type": "number",
- "description": "The maximum value for the attribute"
- }
- }
- },
- "inkPoint": {
- "type": "object",
- "description": "An object containing the properties of an point in the path of an ink stroke. The main properties are the x and y values. Other include tip pressure, x tilt etc. For the coordinate values, it is recommended to have a precision of 8 digits after the decimal to obtain most accurate recognition results. The origin (0,0) of the canvas is assumed to be at the top left corner of the canvas",
- "properties": {
- "x": {
- "type": "number",
- "description": "The x coordinate of the pen location on the writing surface."
- },
- "y": {
- "type": "number",
- "description": "The y coordinate of the pen location on the writing surface."
- },
- "z": {
- "type": "number",
- "description": "The z coordinate of the pen location on the writing space. This may not be used for recognition."
- },
- "tipPressure": {
- "type": "number",
- "description": "The force exerted against the tablet surface by the transducer, typically a stylus. This may not be used for recognition."
- },
- "barrelPressure": {
- "type": "number",
- "description": "The force exerted directly by the user on a transducer sensor, such as a pressure-sensitive button on the barrel of a stylus. This may not be used for recognition."
- },
- "timestamp": {
- "type": "number",
- "description": "The time relative to the absolute time the transducer last became active. This may not be used for recognition."
- },
- "xTilt": {
- "type": "number",
- "description": "The plane angle between the Y-Z plane and the plane containing the transducer axis and the Y axis. This may not be used for recognition."
- },
- "yTilt": {
- "type": "number",
- "description": "The angle between the X-Z and transducer-X planes. A positive Y Tilt is toward the user. This may not be used for recognition."
- },
- "width": {
- "type": "number",
- "description": "The width of the tip of the writing instrument. This is used by touch screen devices to report the width of the finger contact on the writing surface. This may not be used for recognition."
- },
- "height": {
- "type": "number",
- "description": "The height of the tip of the writing instrument. This is used by touch screen devices to report the height of the finger contact on the writing surface. This may not be used for recognition."
- },
- "tipSwitch": {
- "type": "boolean",
- "description": "A switch located on the tip of a stylus indicating contact of the stylus with a surface. This may not be used for recognition."
- },
- "inverted": {
- "type": "boolean",
- "description": "A value that indicates that the currently sensed position originates from the end of a stylus opposite the tip switch. This may not be used for recognition."
- },
- "barrelSwitch": {
- "type": "boolean",
- "description": "A non-tip button located on the barrel of a stylus. Its function is typically mapped to a system secondary button. This may not be used for recognition."
- },
- "eraser": {
- "type": "boolean",
- "description": "The control is used for erasing objects. It is typically located opposite the writing end of a stylus. This may not be used for recognition."
- },
- "secondaryTip": {
- "type": "boolean",
- "description": "A secondary switch used in conjunction with the tip switch to indicate pressure above a certain threshold applied with the stylus. This may not be used for recognition."
- }
- },
- "required": [
- "x",
- "y"
- ]
- },
- "recognitionUnit": {
- "items": {
- "properties": {
- "id": {
- "type": "integer",
- "description": "The identifier of the recognition unit. This id is used to indicate parent/child relationship between different recognition units."
- },
- "category": {
- "$ref": "#/definitions/categoryPattern"
- },
- "alternates": {
- "$ref": "#/definitions/alternatePattern"
- },
- "center": {
- "description": "The coordinates (x,y) of the center of the recognition unit.",
- "$ref": "#/definitions/pointDetailsPattern"
- },
- "points": {
- "description": "Array of point objects that represent points that are relevant to the type of recognition unit. For example, for a leaf node of inkDrawing category that represents a triangle, points would include the x, y coordinates of the vertices of the recognized triangle. The points represent the coordinates used to create the perfectly drawn shape that is closest to the original input. They may not exactly match.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/pointDetailsPattern"
- }
- },
- "childIds": {
- "description": "An array of integers representing the identifier of each child of the current recognition unit.",
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "class": {
- "$ref": "#/definitions/classPattern"
- },
- "parentId": {
- "type": "integer",
- "description": "The id of the parent node in the tree structure of the recognition results. parent = 0 indicates that there is no dedicated parent node for this unit."
- },
- "boundingRectangle": {
- "description": "The bounding rectangle of the recognition unit represented by the coordinates of the top left corner (topX,topY) along with width and height of the rectangle. Note that this rectangle is not rotated. So for rotated objects such as slanted handwriting, it will cover the entire object. The unit will be matched to the one specified in the original request (mm by default.) ",
- "type": "object",
- "properties": {
- "topX": {
- "type": "number",
- "description": "This is the top left x coordinate"
- },
- "topY": {
- "type": "number",
- "description": "This is the top left y coordinate"
- },
- "width": {
- "type": "number",
- "description": "This is width of the bounding rectangle"
- },
- "height": {
- "type": "number",
- "description": "The is the height of the bounding rectangle"
- }
- }
- },
- "rotatedBoundingRectangle": {
- "description": "This is the rotated bounding rectangle that covers the entire recognized object along the angle of rotation of the object. Note that this is NOT the same as rotating the boundingRectangle by the rotation angle.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/pointDetailsPattern"
- }
- },
- "strokeIds": {
- "description": "This is an array of integers representing the list of stroke Identifiers from the input request body that belong to this recognition unit.",
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "recognizedText": {
- "type": "string",
- "description": "The string contains the text that was recognized. It can be an empty string if the recognizer cannot determine the text."
- },
- "confidence": {
- "type": "number",
- "description": "A number between 0 and 1 which indicates the confidence level in the result."
- },
- "rotationAngle": {
- "type": "number",
- "description": "This is the angle at which the unit is rotated in degrees with respect to the positive X axis."
- },
- "recognizedObject": {
- "$ref": "#/definitions/shapePattern"
- }
- },
- "required": [
- "category",
- "parentId",
- "strokeIds",
- "class",
- "id"
- ],
- "type": "object",
- "description": "This identifies the recognized entity"
- },
- "type": "array",
- "description": "The list of recognition units based on the analysis of the ink strokes."
- },
- "stroke": {
- "type": "object",
- "properties": {
- "id": {
- "type": "integer",
- "description": "This is treated as a unique identifier for each stroke within a request. If the id is repeated within the same request, the service will return an error."
- },
- "language": {
- "type": "string",
- "description": "The IETF BCP 47 language code (for ex. en-US, en-GB, hi-IN etc.) of the expected language for the handwritten content in this stroke. The response will include results from this language."
- },
- "points": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/inkPoint"
- }
- },
- "drawingAttributes": {
- "$ref": "#/definitions/drawingAttributesPattern"
- },
- "kind": {
- "type": "string",
- "description": "This is an optional property which influences the decision about what the stroke kind is between inkWriting and inkDrawing. This property should be set ONLY if the type of user content is known ahead of time. Not setting this value implies the kind is not known ahead of time. Kind represents the type of content the stroke is a part of.",
- "enum": [
- "inkDrawing",
- "inkWriting"
- ],
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
- }
- },
- "required": [
- "points",
- "id"
- ]
- },
- "analysisResponse": {
- "type": "object",
- "description": "This shows the expected contents of a response from the service",
- "properties": {
- "unit": {
- "type": "string",
- "description": "This is the physical unit of the ink strokes. It is up to the application developer to decide how to convert the device specific units to physical units before calling the service. The conversion factor can be different based on the type of the device used.",
- "enum": [
- "mm",
- "cm",
- "in"
- ],
- "x-ms-enum": {
- "name": "unit",
- "modelAsString": true
- }
- },
- "unitMultiple": {
- "description": " This is a scaling factor to be applied to the point coordinates when interpreting them in the physical units specified.",
- "type": "number"
- },
- "language": {
- "type": "string",
- "description": "This is the language used for recognizing handwriting from the ink strokes in the request."
- },
- "recognitionUnits": {
- "$ref": "#/definitions/recognitionUnit"
- }
- },
- "required": [
- "recognitionUnits"
- ]
- },
- "errorModel": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string",
- "description": "This represents the error code"
- },
- "message": {
- "type": "string",
- "description": "This represents the error message"
- },
- "target": {
- "type": "string",
- "description": "This represents the target of the error message"
- },
- "details": {
- "type": "array",
- "description": "This gives details of the reason(s) for the error",
- "items": {
- "properties": {
- "code": {
- "type": "string",
- "description": "This represents the error code"
- },
- "message": {
- "type": "string",
- "description": "This represents the error message"
- },
- "target": {
- "type": "string",
- "description": "This represents the target of the error message"
- }
- }
- }
- }
- },
- "required": [
- "code",
- "message"
- ]
- },
- "analysisRequest": {
- "type": "object",
- "description": "This shows the expected contents of a request",
- "required": [
- "strokes",
- "language"
- ],
- "properties": {
- "applicationType": {
- "type": "string",
- "description": "This describes the domain of the client application",
- "enum": [
- "drawing",
- "writing",
- "mixed"
- ],
- "x-ms-enum": {
- "name": "application",
- "modelAsString": true
- }
- },
- "inputDeviceKind": {
- "type": "string",
- "description": "This identifies the kind of device used as the writing instrument",
- "enum": [
- "digitizer",
- "pen",
- "lightPen",
- "touchScreen",
- "touchPad",
- "whiteBoard",
- "3dDigitizer",
- "stereoPlotter",
- "articulatedArm",
- "armature"
- ],
- "x-ms-enum": {
- "name": "inputDevice",
- "modelAsString": true
- }
- },
- "unit": {
- "type": "string",
- "description": "This is the physical unit of the ink strokes. It is up to the application developer to decide how to convert the device specific units to physical units before calling the service. The conversion factor can be different based on the type of the device used.",
- "enum": [
- "mm",
- "cm",
- "in"
- ],
- "x-ms-enum": {
- "name": "unit",
- "modelAsString": true
- }
- },
- "unitMultiple": {
- "description": " This is a scaling factor to be applied to the point coordinates when interpreting them in the physical units specified.",
- "type": "number"
- },
- "language": {
- "type": "string",
- "example": "en-US",
- "description": "The IETF BCP 47 language code (for ex. en-US, en-GB, hi-IN etc.) of the expected language for the handwritten content in the ink strokes. The response will include results from this language."
- },
- "inkPointValueAttributes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/inkPointValueAttribute"
- }
- },
- "strokes": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/stroke"
- },
- "description": "This is the array of strokes sent for recognition. Best results are produced when the order of strokes added in the array matches the order in which the user created them. Changing the stroke order may produce unexpected results."
- }
- }
- }
- },
- "parameters": {
- "Endpoint": {
- "name": "Endpoint",
- "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://api.cognitive.microsoft.com).",
- "x-ms-parameter-location": "client",
- "required": true,
- "type": "string",
- "in": "path",
- "x-ms-skip-url-encoding": true
- }
- }
-}
diff --git a/specification/cognitiveservices/data-plane/InkRecognizer/preview/v1.0/examples/InkWordRecognition.json b/specification/cognitiveservices/data-plane/InkRecognizer/preview/v1.0/examples/InkWordRecognition.json
deleted file mode 100644
index d82ecae40824..000000000000
--- a/specification/cognitiveservices/data-plane/InkRecognizer/preview/v1.0/examples/InkWordRecognition.json
+++ /dev/null
@@ -1,1917 +0,0 @@
-{
- "parameters": {
- "Endpoint": "{Endpoint}",
- "Content-Type": "application/json",
- "Ocp-Apim-Subscription-Key": "{API key}",
- "body": {
- "language": "en-US",
- "strokes": [
- {
- "id": 1,
- "kind": "inkWriting",
- "points": [
- {
- "x": 19.34498,
- "y": 28.21327
- },
- {
- "x": 19.34498,
- "y": 27.93462
- },
- {
- "x": 19.34498,
- "y": 27.65597
- },
- {
- "x": 19.0157,
- "y": 27.65597
- },
- {
- "x": 18.76874,
- "y": 27.44698
- },
- {
- "x": 18.27483,
- "y": 27.44698
- },
- {
- "x": 18.02787,
- "y": 27.44698
- },
- {
- "x": 17.45164,
- "y": 27.44698
- },
- {
- "x": 16.62845,
- "y": 27.65597
- },
- {
- "x": 15.88758,
- "y": 27.93462
- },
- {
- "x": 15.06439,
- "y": 28.49191
- },
- {
- "x": 14.32351,
- "y": 28.97955
- },
- {
- "x": 13.25337,
- "y": 29.53685
- },
- {
- "x": 11.36003,
- "y": 31.41773
- },
- {
- "x": 10.61916,
- "y": 32.46267
- },
- {
- "x": 9.795967,
- "y": 33.50761
- },
- {
- "x": 8.972776,
- "y": 34.83119
- },
- {
- "x": 8.231905,
- "y": 35.87613
- },
- {
- "x": 7.655672,
- "y": 37.19971
- },
- {
- "x": 7.161757,
- "y": 38.24465
- },
- {
- "x": 6.9148,
- "y": 39.35925
- },
- {
- "x": 6.9148,
- "y": 40.12554
- },
- {
- "x": 6.9148,
- "y": 40.89182
- },
- {
- "x": 6.9148,
- "y": 41.72777
- },
- {
- "x": 7.408715,
- "y": 42.2154
- },
- {
- "x": 7.902629,
- "y": 42.49405
- },
- {
- "x": 8.478863,
- "y": 42.77271
- },
- {
- "x": 8.972776,
- "y": 43.05135
- },
- {
- "x": 9.795967,
- "y": 43.05135
- },
- {
- "x": 10.28988,
- "y": 43.05135
- },
- {
- "x": 11.11307,
- "y": 42.77271
- },
- {
- "x": 11.93626,
- "y": 42.2154
- },
- {
- "x": 12.43018,
- "y": 41.72777
- },
- {
- "x": 13.25337,
- "y": 41.17047
- },
- {
- "x": 13.74728,
- "y": 40.12554
- },
- {
- "x": 14.57047,
- "y": 39.0806
- },
- {
- "x": 15.31134,
- "y": 37.75701
- },
- {
- "x": 15.88758,
- "y": 36.15478
- },
- {
- "x": 16.62845,
- "y": 34.27389
- },
- {
- "x": 17.20468,
- "y": 32.46267
- },
- {
- "x": 17.6986,
- "y": 30.30314
- },
- {
- "x": 18.27483,
- "y": 28.21327
- },
- {
- "x": 18.76874,
- "y": 26.12339
- },
- {
- "x": 19.34498,
- "y": 23.96386
- },
- {
- "x": 19.59193,
- "y": 21.87399
- },
- {
- "x": 19.83889,
- "y": 19.9931
- },
- {
- "x": 20.08585,
- "y": 18.46053
- },
- {
- "x": 20.08585,
- "y": 17.13695
- },
- {
- "x": 20.08585,
- "y": 16.02235
- },
- {
- "x": 20.08585,
- "y": 14.97741
- },
- {
- "x": 20.08585,
- "y": 14.48978
- },
- {
- "x": 20.08585,
- "y": 13.93248
- },
- {
- "x": 19.83889,
- "y": 13.65383
- },
- {
- "x": 19.83889,
- "y": 13.65383
- },
- {
- "x": 19.83889,
- "y": 13.65383
- },
- {
- "x": 19.59193,
- "y": 13.65383
- },
- {
- "x": 19.59193,
- "y": 13.65383
- },
- {
- "x": 19.34498,
- "y": 14.21113
- },
- {
- "x": 19.34498,
- "y": 14.69876
- },
- {
- "x": 19.0157,
- "y": 15.25606
- },
- {
- "x": 19.0157,
- "y": 16.02235
- },
- {
- "x": 18.76874,
- "y": 17.13695
- },
- {
- "x": 18.76874,
- "y": 18.46053
- },
- {
- "x": 18.52179,
- "y": 19.78412
- },
- {
- "x": 18.27483,
- "y": 21.31669
- },
- {
- "x": 18.02787,
- "y": 22.91892
- },
- {
- "x": 18.02787,
- "y": 24.52116
- },
- {
- "x": 17.6986,
- "y": 26.33238
- },
- {
- "x": 17.45164,
- "y": 28.21327
- },
- {
- "x": 17.20468,
- "y": 30.09415
- },
- {
- "x": 16.95773,
- "y": 31.90537
- },
- {
- "x": 16.62845,
- "y": 33.50761
- },
- {
- "x": 16.62845,
- "y": 35.10984
- },
- {
- "x": 16.62845,
- "y": 36.71207
- },
- {
- "x": 16.62845,
- "y": 38.03566
- },
- {
- "x": 16.95773,
- "y": 39.0806
- },
- {
- "x": 17.20468,
- "y": 39.84688
- },
- {
- "x": 17.45164,
- "y": 40.68283
- },
- {
- "x": 18.02787,
- "y": 41.17047
- },
- {
- "x": 18.52179,
- "y": 41.72777
- },
- {
- "x": 19.34498,
- "y": 42.00642
- },
- {
- "x": 19.83889,
- "y": 42.00642
- },
- {
- "x": 20.90904,
- "y": 41.72777
- },
- {
- "x": 21.73223,
- "y": 41.44912
- },
- {
- "x": 22.4731,
- "y": 40.89182
- },
- {
- "x": 23.54325,
- "y": 40.12554
- },
- {
- "x": 24.36644,
- "y": 39.35925
- },
- {
- "x": 25.10731,
- "y": 38.5233
- },
- {
- "x": 25.9305,
- "y": 37.47836
- },
- {
- "x": 26.75369,
- "y": 36.71207
- },
- {
- "x": 27.24761,
- "y": 35.59748
- },
- {
- "x": 27.49457,
- "y": 34.55254
- },
- {
- "x": 27.74152,
- "y": 33.50761
- },
- {
- "x": 28.0708,
- "y": 32.46267
- },
- {
- "x": 28.0708,
- "y": 31.62672
- },
- {
- "x": 28.0708,
- "y": 30.86044
- },
- {
- "x": 28.0708,
- "y": 30.09415
- },
- {
- "x": 27.74152,
- "y": 29.53685
- },
- {
- "x": 27.49457,
- "y": 28.97955
- },
- {
- "x": 27.24761,
- "y": 28.77056
- },
- {
- "x": 26.75369,
- "y": 28.49191
- },
- {
- "x": 26.42442,
- "y": 28.49191
- },
- {
- "x": 25.9305,
- "y": 28.49191
- },
- {
- "x": 25.43659,
- "y": 28.97955
- },
- {
- "x": 25.10731,
- "y": 29.53685
- },
- {
- "x": 24.6134,
- "y": 30.09415
- },
- {
- "x": 24.03716,
- "y": 30.86044
- },
- {
- "x": 23.79021,
- "y": 31.90537
- },
- {
- "x": 23.29629,
- "y": 33.22896
- },
- {
- "x": 23.04934,
- "y": 34.27389
- },
- {
- "x": 22.72006,
- "y": 35.59748
- },
- {
- "x": 22.72006,
- "y": 36.71207
- },
- {
- "x": 22.4731,
- "y": 38.03566
- },
- {
- "x": 22.72006,
- "y": 39.0806
- },
- {
- "x": 22.72006,
- "y": 40.12554
- },
- {
- "x": 23.04934,
- "y": 40.89182
- },
- {
- "x": 23.29629,
- "y": 41.72777
- },
- {
- "x": 23.79021,
- "y": 42.2154
- },
- {
- "x": 24.36644,
- "y": 42.77271
- },
- {
- "x": 24.86036,
- "y": 43.05135
- },
- {
- "x": 25.68354,
- "y": 43.05135
- },
- {
- "x": 26.42442,
- "y": 43.05135
- },
- {
- "x": 27.24761,
- "y": 42.77271
- },
- {
- "x": 28.31775,
- "y": 42.2154
- },
- {
- "x": 29.3879,
- "y": 41.72777
- },
- {
- "x": 30.45805,
- "y": 40.89182
- },
- {
- "x": 31.44588,
- "y": 39.84688
- },
- {
- "x": 32.8453,
- "y": 38.80195
- },
- {
- "x": 33.83313,
- "y": 37.47836
- },
- {
- "x": 35.15023,
- "y": 35.87613
- },
- {
- "x": 36.22039,
- "y": 34.27389
- },
- {
- "x": 37.29053,
- "y": 32.46267
- },
- {
- "x": 39.43083,
- "y": 27.93462
- },
- {
- "x": 40.50097,
- "y": 25.5661
- },
- {
- "x": 41.24184,
- "y": 23.19757
- },
- {
- "x": 41.81808,
- "y": 20.82905
- },
- {
- "x": 42.55895,
- "y": 18.46053
- },
- {
- "x": 42.88823,
- "y": 16.301
- },
- {
- "x": 43.38214,
- "y": 14.48978
- },
- {
- "x": 43.6291,
- "y": 11.84261
- },
- {
- "x": 43.6291,
- "y": 10.72801
- },
- {
- "x": 43.6291,
- "y": 10.24037
- },
- {
- "x": 43.38214,
- "y": 9.96172
- },
- {
- "x": 43.38214,
- "y": 9.96172
- },
- {
- "x": 43.13519,
- "y": 9.96172
- },
- {
- "x": 42.88823,
- "y": 10.72801
- },
- {
- "x": 42.31199,
- "y": 12.60889
- },
- {
- "x": 41.81808,
- "y": 14.21113
- },
- {
- "x": 41.24184,
- "y": 16.02235
- },
- {
- "x": 40.74793,
- "y": 18.18188
- },
- {
- "x": 40.25402,
- "y": 20.5504
- },
- {
- "x": 39.67778,
- "y": 23.19757
- },
- {
- "x": 39.43083,
- "y": 25.84475
- },
- {
- "x": 38.60764,
- "y": 31.13909
- },
- {
- "x": 38.36068,
- "y": 33.78626
- },
- {
- "x": 38.36068,
- "y": 36.43343
- },
- {
- "x": 38.11372,
- "y": 38.80195
- },
- {
- "x": 38.11372,
- "y": 40.89182
- },
- {
- "x": 38.11372,
- "y": 43.05135
- },
- {
- "x": 37.86677,
- "y": 45.14123
- },
- {
- "x": 37.53749,
- "y": 48.62434
- },
- {
- "x": 37.53749,
- "y": 49.94793
- },
- {
- "x": 37.29053,
- "y": 51.27151
- },
- {
- "x": 37.04358,
- "y": 52.31645
- },
- {
- "x": 36.79662,
- "y": 53.08273
- },
- {
- "x": 36.54966,
- "y": 53.64004
- },
- {
- "x": 35.97342,
- "y": 53.84902
- },
- {
- "x": 34.65633,
- "y": 53.64004
- },
- {
- "x": 33.83313,
- "y": 53.08273
- },
- {
- "x": 33.09226,
- "y": 52.5951
- },
- {
- "x": 32.26907,
- "y": 51.75915
- },
- {
- "x": 31.19892,
- "y": 50.71421
- },
- {
- "x": 30.45805,
- "y": 49.66928
- },
- {
- "x": 29.88182,
- "y": 48.83333
- },
- {
- "x": 28.56471,
- "y": 47.02211
- },
- {
- "x": 28.31775,
- "y": 46.18616
- },
- {
- "x": 28.0708,
- "y": 45.69852
- },
- {
- "x": 28.0708,
- "y": 45.14123
- },
- {
- "x": 28.31775,
- "y": 44.37494
- },
- {
- "x": 28.56471,
- "y": 43.53899
- },
- {
- "x": 29.88182,
- "y": 42.2154
- },
- {
- "x": 30.70501,
- "y": 41.44912
- },
- {
- "x": 31.77516,
- "y": 40.68283
- },
- {
- "x": 32.8453,
- "y": 39.56823
- },
- {
- "x": 35.47952,
- "y": 37.75701
- },
- {
- "x": 36.79662,
- "y": 36.92107
- },
- {
- "x": 39.67778,
- "y": 35.38849
- },
- {
- "x": 42.31199,
- "y": 34.0649
- },
- {
- "x": 43.6291,
- "y": 33.50761
- },
- {
- "x": 46.26331,
- "y": 32.74132
- },
- {
- "x": 47.33346,
- "y": 32.46267
- },
- {
- "x": 49.22679,
- "y": 32.18402
- },
- {
- "x": 49.72071,
- "y": 31.90537
- },
- {
- "x": 50.29694,
- "y": 31.90537
- },
- {
- "x": 50.79086,
- "y": 31.90537
- },
- {
- "x": 51.03782,
- "y": 31.90537
- },
- {
- "x": 51.03782,
- "y": 31.90537
- },
- {
- "x": 50.29694,
- "y": 31.90537
- },
- {
- "x": 49.96766,
- "y": 32.18402
- },
- {
- "x": 49.47375,
- "y": 32.46267
- },
- {
- "x": 48.65057,
- "y": 32.74132
- },
- {
- "x": 47.90969,
- "y": 33.22896
- },
- {
- "x": 47.0865,
- "y": 33.78626
- },
- {
- "x": 46.26331,
- "y": 34.27389
- },
- {
- "x": 44.69925,
- "y": 35.87613
- },
- {
- "x": 44.20533,
- "y": 36.71207
- },
- {
- "x": 43.95837,
- "y": 37.75701
- },
- {
- "x": 43.6291,
- "y": 38.5233
- },
- {
- "x": 43.38214,
- "y": 39.84688
- },
- {
- "x": 43.6291,
- "y": 40.12554
- },
- {
- "x": 43.95837,
- "y": 40.40418
- },
- {
- "x": 44.20533,
- "y": 40.68283
- },
- {
- "x": 45.27548,
- "y": 40.40418
- },
- {
- "x": 46.01635,
- "y": 40.12554
- },
- {
- "x": 46.59258,
- "y": 39.56823
- },
- {
- "x": 47.0865,
- "y": 38.80195
- },
- {
- "x": 47.90969,
- "y": 38.03566
- },
- {
- "x": 48.97984,
- "y": 36.15478
- },
- {
- "x": 49.47375,
- "y": 35.10984
- },
- {
- "x": 49.72071,
- "y": 34.27389
- },
- {
- "x": 49.96766,
- "y": 33.50761
- },
- {
- "x": 50.29694,
- "y": 32.46267
- },
- {
- "x": 50.5439,
- "y": 31.90537
- },
- {
- "x": 50.5439,
- "y": 31.90537
- },
- {
- "x": 50.29694,
- "y": 32.18402
- },
- {
- "x": 50.29694,
- "y": 32.74132
- },
- {
- "x": 49.96766,
- "y": 33.22896
- },
- {
- "x": 49.72071,
- "y": 34.83119
- },
- {
- "x": 49.47375,
- "y": 35.87613
- },
- {
- "x": 49.47375,
- "y": 37.75701
- },
- {
- "x": 49.47375,
- "y": 38.5233
- },
- {
- "x": 49.72071,
- "y": 39.0806
- },
- {
- "x": 49.72071,
- "y": 39.35925
- },
- {
- "x": 50.29694,
- "y": 39.56823
- },
- {
- "x": 50.79086,
- "y": 39.56823
- },
- {
- "x": 51.03782,
- "y": 39.35925
- },
- {
- "x": 51.61405,
- "y": 38.80195
- },
- {
- "x": 52.6842,
- "y": 37.47836
- },
- {
- "x": 53.1781,
- "y": 36.71207
- },
- {
- "x": 53.67202,
- "y": 35.87613
- },
- {
- "x": 54.24826,
- "y": 35.10984
- },
- {
- "x": 54.74217,
- "y": 34.55254
- },
- {
- "x": 55.3184,
- "y": 33.50761
- },
- {
- "x": 55.56536,
- "y": 33.22896
- },
- {
- "x": 55.56536,
- "y": 32.95031
- },
- {
- "x": 55.56536,
- "y": 32.95031
- },
- {
- "x": 55.56536,
- "y": 33.78626
- },
- {
- "x": 55.3184,
- "y": 34.27389
- },
- {
- "x": 55.07145,
- "y": 35.38849
- },
- {
- "x": 55.07145,
- "y": 36.15478
- },
- {
- "x": 55.07145,
- "y": 36.92107
- },
- {
- "x": 55.07145,
- "y": 37.47836
- },
- {
- "x": 55.3184,
- "y": 38.03566
- },
- {
- "x": 55.3184,
- "y": 38.24465
- },
- {
- "x": 55.56536,
- "y": 38.5233
- },
- {
- "x": 56.05928,
- "y": 38.5233
- },
- {
- "x": 56.38855,
- "y": 38.24465
- },
- {
- "x": 56.63551,
- "y": 38.03566
- },
- {
- "x": 57.12943,
- "y": 37.75701
- },
- {
- "x": 57.70565,
- "y": 36.71207
- },
- {
- "x": 58.19957,
- "y": 36.15478
- },
- {
- "x": 58.44653,
- "y": 35.10984
- },
- {
- "x": 58.77581,
- "y": 34.55254
- },
- {
- "x": 58.77581,
- "y": 34.27389
- },
- {
- "x": 59.02276,
- "y": 34.0649
- },
- {
- "x": 59.02276,
- "y": 33.78626
- },
- {
- "x": 59.02276,
- "y": 33.78626
- },
- {
- "x": 58.77581,
- "y": 34.27389
- },
- {
- "x": 58.77581,
- "y": 34.55254
- },
- {
- "x": 58.77581,
- "y": 35.10984
- },
- {
- "x": 58.77581,
- "y": 35.38849
- },
- {
- "x": 58.44653,
- "y": 36.71207
- },
- {
- "x": 58.77581,
- "y": 37.47836
- },
- {
- "x": 58.77581,
- "y": 38.03566
- },
- {
- "x": 59.02276,
- "y": 38.80195
- },
- {
- "x": 59.51667,
- "y": 39.56823
- },
- {
- "x": 60.09291,
- "y": 39.84688
- },
- {
- "x": 60.58682,
- "y": 39.84688
- },
- {
- "x": 61.08074,
- "y": 39.56823
- },
- {
- "x": 61.90393,
- "y": 39.35925
- },
- {
- "x": 63.46799,
- "y": 38.24465
- },
- {
- "x": 64.53814,
- "y": 37.19971
- },
- {
- "x": 65.60828,
- "y": 36.15478
- },
- {
- "x": 66.67844,
- "y": 34.55254
- },
- {
- "x": 68.48946,
- "y": 31.41773
- },
- {
- "x": 69.31265,
- "y": 29.53685
- },
- {
- "x": 70.62975,
- "y": 25.5661
- },
- {
- "x": 71.20598,
- "y": 23.47622
- },
- {
- "x": 71.45294,
- "y": 21.87399
- },
- {
- "x": 71.6999,
- "y": 20.5504
- },
- {
- "x": 71.6999,
- "y": 18.18188
- },
- {
- "x": 71.45294,
- "y": 17.34593
- },
- {
- "x": 70.8767,
- "y": 16.57965
- },
- {
- "x": 70.62975,
- "y": 16.301
- },
- {
- "x": 70.3828,
- "y": 16.57965
- },
- {
- "x": 69.88888,
- "y": 16.8583
- },
- {
- "x": 68.81873,
- "y": 18.18188
- },
- {
- "x": 68.24249,
- "y": 19.22682
- },
- {
- "x": 67.17235,
- "y": 21.59534
- },
- {
- "x": 66.43147,
- "y": 22.91892
- },
- {
- "x": 65.85524,
- "y": 24.52116
- },
- {
- "x": 65.60828,
- "y": 26.12339
- },
- {
- "x": 64.7851,
- "y": 29.2582
- },
- {
- "x": 64.53814,
- "y": 30.58179
- },
- {
- "x": 64.29118,
- "y": 33.22896
- },
- {
- "x": 64.53814,
- "y": 34.55254
- },
- {
- "x": 64.53814,
- "y": 5.59748
- },
- {
- "x": 64.7851,
- "y": 36.71207
- },
- {
- "x": 65.85524,
- "y": 38.24465
- },
- {
- "x": 66.43147,
- "y": 38.80195
- },
- {
- "x": 67.99554,
- "y": 39.35925
- },
- {
- "x": 68.81873,
- "y": 39.56823
- },
- {
- "x": 69.5596,
- "y": 39.35925
- },
- {
- "x": 70.62975,
- "y": 39.0806
- },
- {
- "x": 73.01699,
- "y": 37.75701
- },
- {
- "x": 74.33411,
- "y": 36.71207
- },
- {
- "x": 76.72135,
- "y": 34.0649
- },
- {
- "x": 78.03847,
- "y": 32.18402
- },
- {
- "x": 79.35557,
- "y": 30.30314
- },
- {
- "x": 80.67267,
- "y": 28.21327
- },
- {
- "x": 82.81297,
- "y": 23.75487
- },
- {
- "x": 83.88311,
- "y": 21.31669
- },
- {
- "x": 85.20022,
- "y": 17.34593
- },
- {
- "x": 85.69414,
- "y": 15.53471
- },
- {
- "x": 86.02341,
- "y": 14.21113
- },
- {
- "x": 86.27037,
- "y": 13.16619
- },
- {
- "x": 86.27037,
- "y": 11.56396
- },
- {
- "x": 86.27037,
- "y": 11.28531
- },
- {
- "x": 86.27037,
- "y": 11.00666
- },
- {
- "x": 86.02341,
- "y": 11.28531
- },
- {
- "x": 86.02341,
- "y": 11.28531
- },
- {
- "x": 86.02341,
- "y": 11.84261
- },
- {
- "x": 85.44718,
- "y": 12.88754
- },
- {
- "x": 85.44718,
- "y": 13.65383
- },
- {
- "x": 84.95326,
- "y": 15.81336
- },
- {
- "x": 84.70631,
- "y": 16.8583
- },
- {
- "x": 84.37703,
- "y": 17.90323
- },
- {
- "x": 83.88311,
- "y": 19.22682
- },
- {
- "x": 83.30688,
- "y": 22.15264
- },
- {
- "x": 82.81297,
- "y": 23.75487
- },
- {
- "x": 81.98978,
- "y": 26.88968
- },
- {
- "x": 81.49586,
- "y": 28.49191
- },
- {
- "x": 81.00195,
- "y": 30.09415
- },
- {
- "x": 80.67267,
- "y": 31.62672
- },
- {
- "x": 80.17876,
- "y": 34.27389
- },
- {
- "x": 79.9318,
- "y": 35.38849
- },
- {
- "x": 79.60252,
- "y": 37.47836
- },
- {
- "x": 79.60252,
- "y": 38.24465
- },
- {
- "x": 79.60252,
- "y": 38.80195
- },
- {
- "x": 79.9318,
- "y": 39.35925
- },
- {
- "x": 80.42571,
- "y": 40.40418
- },
- {
- "x": 81.00195,
- "y": 40.68283
- },
- {
- "x": 82.31906,
- "y": 40.89182
- },
- {
- "x": 83.05993,
- "y": 40.89182
- },
- {
- "x": 83.88311,
- "y": 40.89182
- },
- {
- "x": 84.95326,
- "y": 40.68283
- },
- {
- "x": 86.76428,
- "y": 39.56823
- },
- {
- "x": 87.58747,
- "y": 39.0806
- },
- {
- "x": 89.15154,
- "y": 38.03566
- },
- {
- "x": 89.72777,
- "y": 37.19971
- },
- {
- "x": 90.22169,
- "y": 36.43343
- }
- ]
- },
- {
- "id": 2,
- "kind": "inkWriting",
- "points": [
- {
- "x": 80.17876,
- "y": 20.27175
- },
- {
- "x": 80.17876,
- "y": 20.27175
- },
- {
- "x": 80.17876,
- "y": 20.27175
- },
- {
- "x": 80.17876,
- "y": 20.27175
- },
- {
- "x": 80.17876,
- "y": 20.5504
- },
- {
- "x": 80.17876,
- "y": 20.5504
- },
- {
- "x": 80.17876,
- "y": 20.5504
- },
- {
- "x": 80.17876,
- "y": 20.5504
- },
- {
- "x": 80.42571,
- "y": 20.5504
- },
- {
- "x": 80.42571,
- "y": 20.5504
- },
- {
- "x": 80.67267,
- "y": 20.5504
- },
- {
- "x": 81.00195,
- "y": 20.5504
- },
- {
- "x": 81.49586,
- "y": 20.5504
- },
- {
- "x": 81.98978,
- "y": 20.5504
- },
- {
- "x": 82.56602,
- "y": 20.5504
- },
- {
- "x": 83.30688,
- "y": 20.5504
- },
- {
- "x": 84.13007,
- "y": 20.5504
- },
- {
- "x": 84.95326,
- "y": 20.27175
- },
- {
- "x": 86.02341,
- "y": 20.27175
- },
- {
- "x": 86.76428,
- "y": 20.27175
- },
- {
- "x": 87.58747,
- "y": 20.27175
- },
- {
- "x": 88.41067,
- "y": 19.9931
- },
- {
- "x": 89.15154,
- "y": 19.9931
- },
- {
- "x": 89.72777,
- "y": 19.9931
- },
- {
- "x": 90.22169,
- "y": 19.78412
- },
- {
- "x": 90.46864,
- "y": 19.78412
- },
- {
- "x": 90.7156,
- "y": 19.78412
- },
- {
- "x": 91.04487,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.29183,
- "y": 19.78412
- },
- {
- "x": 91.53879,
- "y": 19.78412
- },
- {
- "x": 91.53879,
- "y": 19.78412
- },
- {
- "x": 91.78574,
- "y": 19.78412
- }
- ]
- }
- ]
- }
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "recognitionUnits": [
- {
- "alternates": [
- {
- "category": "inkWord",
- "recognizedString": "defaults"
- },
- {
- "category": "inkWord",
- "recognizedString": "defiant"
- },
- {
- "category": "inkWord",
- "recognizedString": "defaulter"
- },
- {
- "category": "inkWord",
- "recognizedString": "default's"
- },
- {
- "category": "inkWord",
- "recognizedString": "defaults'"
- },
- {
- "category": "inkWord",
- "recognizedString": "defaulted"
- },
- {
- "category": "inkWord",
- "recognizedString": "descant"
- },
- {
- "category": "inkWord",
- "recognizedString": "decant"
- },
- {
- "category": "inkWord",
- "recognizedString": "defat"
- }
- ],
- "boundingRectangle": {
- "height": 43.889999389648438,
- "topX": 6.9099998474121094,
- "topY": 9.9600000381469727,
- "width": 84.879997253417969
- },
- "category": "inkWord",
- "class": "leaf",
- "id": 4,
- "parentId": 3,
- "recognizedText": "default",
- "rotatedBoundingRectangle": [
- {
- "x": 3.1800000667572021,
- "y": 15.670000076293945
- },
- {
- "x": 89.419998168945313,
- "y": 3.3299999237060547
- },
- {
- "x": 95.430000305175781,
- "y": 45.330001831054688
- },
- {
- "x": 9.1899995803833008,
- "y": 57.669998168945313
- }
- ],
- "strokeIds": [
- 1,
- 2
- ]
- },
- {
- "alternates": [
- {
- "category": "inkWord",
- "recognizedString": "defaults"
- },
- {
- "category": "inkWord",
- "recognizedString": "defiant"
- },
- {
- "category": "inkWord",
- "recognizedString": "defaulter"
- },
- {
- "category": "inkWord",
- "recognizedString": "default's"
- },
- {
- "category": "inkWord",
- "recognizedString": "defaults'"
- },
- {
- "category": "inkWord",
- "recognizedString": "defaulted"
- },
- {
- "category": "inkWord",
- "recognizedString": "descant"
- },
- {
- "category": "inkWord",
- "recognizedString": "decant"
- },
- {
- "category": "inkWord",
- "recognizedString": "defat"
- }
- ],
- "boundingRectangle": {
- "height": 43.889999389648438,
- "topX": 6.9099998474121094,
- "topY": 9.9600000381469727,
- "width": 84.879997253417969
- },
- "category": "line",
- "childIds": [
- 4
- ],
- "class": "container",
- "id": 3,
- "parentId": 2,
- "recognizedText": "default",
- "rotatedBoundingRectangle": [
- {
- "x": 3.1800000667572021,
- "y": 15.670000076293945
- },
- {
- "x": 89.419998168945313,
- "y": 3.3299999237060547
- },
- {
- "x": 95.430000305175781,
- "y": 45.330001831054688
- },
- {
- "x": 9.1899995803833008,
- "y": 57.669998168945313
- }
- ],
- "strokeIds": [
- 1,
- 2
- ]
- },
- {
- "boundingRectangle": {
- "height": 43.889999389648438,
- "topX": 6.9099998474121094,
- "topY": 9.9600000381469727,
- "width": 84.879997253417969
- },
- "category": "paragraph",
- "childIds": [
- 3
- ],
- "class": "container",
- "id": 2,
- "parentId": 1,
- "rotatedBoundingRectangle": [
- {
- "x": 3.1800000667572021,
- "y": 15.670000076293945
- },
- {
- "x": 89.419998168945313,
- "y": 3.3299999237060547
- },
- {
- "x": 95.430000305175781,
- "y": 45.330001831054688
- },
- {
- "x": 9.1899995803833008,
- "y": 57.669998168945313
- }
- ],
- "strokeIds": [
- 1,
- 2
- ]
- },
- {
- "boundingRectangle": {
- "height": 43.889999389648438,
- "topX": 6.9099998474121094,
- "topY": 9.9600000381469727,
- "width": 84.879997253417969
- },
- "category": "writingRegion",
- "childIds": [
- 2
- ],
- "class": "container",
- "id": 1,
- "parentId": 0,
- "rotatedBoundingRectangle": [
- {
- "x": 3.1800000667572021,
- "y": 15.670000076293945
- },
- {
- "x": 89.419998168945313,
- "y": 3.3299999237060547
- },
- {
- "x": 95.430000305175781,
- "y": 45.330001831054688
- },
- {
- "x": 9.1899995803833008,
- "y": 57.669998168945313
- }
- ],
- "strokeIds": [
- 1,
- 2
- ]
- },
- {
- "boundingRectangle": {
- "height": 43.889999389648438,
- "topX": 6.9099998474121094,
- "topY": 9.9600000381469727,
- "width": 84.879997253417969
- },
- "category": "root",
- "childIds": [
- 1
- ],
- "class": "container",
- "id": 0,
- "parentId": -1,
- "rotatedBoundingRectangle": [
- {
- "x": 6.9099998474121094,
- "y": 9.9600000381469727
- },
- {
- "x": 91.7899957275305,
- "y": 9.9600000381469727
- },
- {
- "x": 6.9099998474121094,
- "y": 53.84999393463135
- },
- {
- "x": 91.78999572753905,
- "y": 53.84999393463135
- }
- ],
- "strokeIds": [
- 1,
- 2
- ]
- }
- ]
- }
- }
- }
-}
diff --git a/specification/cognitiveservices/data-plane/InkRecognizer/readme.csharp.md b/specification/cognitiveservices/data-plane/InkRecognizer/readme.csharp.md
deleted file mode 100644
index a632ea692dda..000000000000
--- a/specification/cognitiveservices/data-plane/InkRecognizer/readme.csharp.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## CSharp
-
-These settings apply only when `--csharp` is specified on the command line.
-Please also specify `--csharp-sdks-folder=`.
-
-```yaml $(csharp)
-csharp:
- sync-methods: None
- license-header: MICROSOFT_MIT_NO_VERSION
- azure-arm: false
- namespace: Microsoft.Azure.CognitiveServices.InkRecognizer
- output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/InkRecognizer/InkRecognizer/Generated
- clear-output-folder: true
-```
diff --git a/specification/cognitiveservices/data-plane/InkRecognizer/readme.go.md b/specification/cognitiveservices/data-plane/InkRecognizer/readme.go.md
deleted file mode 100644
index 633006836ac5..000000000000
--- a/specification/cognitiveservices/data-plane/InkRecognizer/readme.go.md
+++ /dev/null
@@ -1,27 +0,0 @@
-## Go
-
-These settings apply only when `--go` is specified on the command line.
-
-```yaml $(go)
-go:
- license-header: MICROSOFT_APACHE_NO_VERSION
- namespace: inkrecognizer
- clear-output-folder: true
-
-```
-
-### Go multi-api
-
-```yaml $(go) && $(multiapi)
-batch:
- - tag: release_1_0
-
-```
-### Tag: release_1_0 and go
-
-These settings apply only when `--tag=release_1_0 --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-```yaml $(tag) == 'release_1_0' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v1.0/$(namespace)
-```
diff --git a/specification/cognitiveservices/data-plane/InkRecognizer/readme.md b/specification/cognitiveservices/data-plane/InkRecognizer/readme.md
deleted file mode 100644
index 726cbbe9a406..000000000000
--- a/specification/cognitiveservices/data-plane/InkRecognizer/readme.md
+++ /dev/null
@@ -1,109 +0,0 @@
-# InkRecognizer
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for InkRecognizer.
-
-## 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 InkRecognizer.
-
-```yaml
-tag: release_1_0
-add-credentials: true
-openapi-type: data-plane
-```
-
-### Tag: release_1_0
-
-These settings apply only when `--tag=release_1_0` is specified on the command line.
-
-```yaml $(tag) == 'release_1_0'
-input-file:
- - preview/v1.0/InkRecognizer.json
-```
-
----
-
-# Code Generation
-
-## Swagger to SDK
-
-This section describes what SDK should be generated by the automatic system.
-This is not used by Autorest itself.
-
-```yaml $(swagger-to-sdk)
-swagger-to-sdk:
- - repo: azure-sdk-for-python
- - repo: azure-sdk-for-java
- - repo: azure-sdk-for-go
- - repo: azure-sdk-for-js
- - repo: azure-sdk-for-ruby
- after_scripts:
- - bundle install && rake arm:regen_all_profiles['azure_cognitiveservices_inkrecognizer']
-```
-
-## 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)
-
-## NodeJS
-
-See configuration in [readme.nodejs.md](./readme.nodejs.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)/preview/v1.0/InkRecognizer.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
-
diff --git a/specification/cognitiveservices/data-plane/InkRecognizer/readme.nodejs.md b/specification/cognitiveservices/data-plane/InkRecognizer/readme.nodejs.md
deleted file mode 100644
index 7b15d029e429..000000000000
--- a/specification/cognitiveservices/data-plane/InkRecognizer/readme.nodejs.md
+++ /dev/null
@@ -1,14 +0,0 @@
-## Node.js
-
-These settings apply only when `--nodejs` is specified on the command line.
-Please also specify `--node-sdk-folder=`.
-
-```yaml $(nodejs)
-nodejs:
- package-name: azure-cognitiveservices-inkrecognizer
- output-folder: $(node-sdks-folder)/lib/services/cognitiveServicesInkRecognizer
- azure-arm: false
- generate-license-txt: true
- generate-package-json: true
- generate-readme-md: false
-```
diff --git a/specification/cognitiveservices/data-plane/InkRecognizer/readme.python.md b/specification/cognitiveservices/data-plane/InkRecognizer/readme.python.md
deleted file mode 100644
index e0dbc6d3712e..000000000000
--- a/specification/cognitiveservices/data-plane/InkRecognizer/readme.python.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## Python
-
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-
-```yaml $(python)
-python-mode: create
-python:
- license-header: MICROSOFT_MIT_NO_VERSION
- add-credentials: true
- payload-flattening-threshold: 2
- namespace: azure.cognitiveservices.inkrecognizer
- package-name: azure-cognitiveservices-inkrecognizer
- package-version: 0.2.0
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-inkrecognizer/azure/cognitiveservices/inkrecognizer
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-inkrecognizer
-```
diff --git a/specification/cognitiveservices/data-plane/InkRecognizer/readme.ruby.md b/specification/cognitiveservices/data-plane/InkRecognizer/readme.ruby.md
deleted file mode 100644
index 22b3b60b7fb5..000000000000
--- a/specification/cognitiveservices/data-plane/InkRecognizer/readme.ruby.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## Ruby
-
-These settings apply only when `--ruby` is specified on the command line.
-
-```yaml
-package-name: azure_cognitiveservices_inkrecognizer
-package-version: "0.16.0"
-azure-arm: true
-```
-### Ruby multi-api
-
-``` yaml $(ruby) && $(multiapi)
-batch:
- - tag: release_1_0
-```
-
-### Tag: release_1_0 and ruby
-
-These settings apply only when `--tag=release_1_0 --ruby` is specified on the command line.
-Please also specify `--ruby-sdks-folder=`.
-
-``` yaml $(tag) == 'release_1_0' && $(ruby)
-namespace: "Azure::CognitiveServices::InkRecognizer::V1_0"
-output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_inkrecognizer/lib
-title: "InkRecognizerClient"
-```
diff --git a/specification/cognitiveservices/data-plane/InkRecognizer/readme.typescript.md b/specification/cognitiveservices/data-plane/InkRecognizer/readme.typescript.md
deleted file mode 100644
index dda74106e2c8..000000000000
--- a/specification/cognitiveservices/data-plane/InkRecognizer/readme.typescript.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## TypeScript
-
-These settings apply only when `--typescript` is specified on the command line.
-Please also specify `--typescript-sdks-folder=`.
-
-```yaml $(typescript)
-typescript:
- package-name: "@azure/cognitiveservices-inkrecognizer"
- output-folder: "$(typescript-sdks-folder)/sdk/cognitiveservices/cognitiveservices-inkrecognizer"
- azure-arm: false
- generate-metadata: true
-```
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.go.md b/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.go.md
index a8c6c825e2bc..a32d57aebb46 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.go.md
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: authoring
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.go.md b/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.go.md
index 01f58b6c88ce..0d446227f131 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.go.md
+++ b/specification/cognitiveservices/data-plane/LUIS/Runtime/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: runtime
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/LocalSearch/readme.go.md b/specification/cognitiveservices/data-plane/LocalSearch/readme.go.md
index 89b2d8281c88..c58f53cece74 100644
--- a/specification/cognitiveservices/data-plane/LocalSearch/readme.go.md
+++ b/specification/cognitiveservices/data-plane/LocalSearch/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: localsearch
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json
index 87cc75e87320..1dc04548dec3 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/MetricsAdvisor.json
@@ -241,8 +241,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -315,8 +315,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
}
@@ -380,8 +380,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
}
@@ -708,8 +708,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -778,8 +778,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -841,8 +841,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -899,8 +899,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -983,6 +983,227 @@
}
}
},
+ "/credentials": {
+ "post": {
+ "tags": [
+ "Credential"
+ ],
+ "summary": "Create a new data source credential",
+ "operationId": "createCredential",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Create data source credential request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "headers": {
+ "Location": {
+ "description": "Location of the newly created resource.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Client error or server error (4xx or 5xx)",
+ "schema": {
+ "$ref": "#/definitions/ErrorCode"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a new data source credential": {
+ "$ref": "./examples/createCredential.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Credential"
+ ],
+ "summary": "List all credentials",
+ "operationId": "listCredentials",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "$skip",
+ "description": "for paging, skipped number",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DataSourceCredentialList"
+ }
+ },
+ "default": {
+ "description": "Client error or server error (4xx or 5xx)",
+ "schema": {
+ "$ref": "#/definitions/ErrorCode"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "@nextLink"
+ },
+ "x-ms-examples": {
+ "List all credentials": {
+ "$ref": "./examples/listCredentials.json"
+ }
+ }
+ }
+ },
+ "/credentials/{credentialId}": {
+ "patch": {
+ "tags": [
+ "Credential"
+ ],
+ "summary": "Update a data source credential",
+ "operationId": "updateCredential",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "credentialId",
+ "description": "Data source credential unique ID",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Update data source credential request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataSourceCredentialPatch"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Client error or server error (4xx or 5xx)",
+ "schema": {
+ "$ref": "#/definitions/ErrorCode"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a data source credential": {
+ "$ref": "./examples/updateCredential.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Credential"
+ ],
+ "summary": "Delete a data source credential",
+ "operationId": "deleteCredential",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "credentialId",
+ "description": "Data source credential unique ID",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The resource is deleted successfully or does not exist."
+ },
+ "default": {
+ "description": "Client error or server error (4xx or 5xx)",
+ "schema": {
+ "$ref": "#/definitions/ErrorCode"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a data source credential": {
+ "$ref": "./examples/deleteCredential.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Credential"
+ ],
+ "summary": "Get a data source credential",
+ "operationId": "getCredential",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "credentialId",
+ "description": "Data source credential unique ID",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ },
+ "default": {
+ "description": "Client error or server error (4xx or 5xx)",
+ "schema": {
+ "$ref": "#/definitions/ErrorCode"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a data source credential": {
+ "$ref": "./examples/getCredential.json"
+ }
+ }
+ }
+ },
"/dataFeeds": {
"get": {
"tags": [
@@ -1011,6 +1232,7 @@
"AzureCosmosDB",
"AzureDataExplorer",
"AzureDataLakeStorageGen2",
+ "AzureEventHubs",
"AzureTable",
"Elasticsearch",
"HttpRequest",
@@ -1074,8 +1296,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
}
@@ -1339,8 +1561,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -1452,8 +1674,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
}
@@ -1684,8 +1906,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -1898,8 +2120,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -1968,8 +2190,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -2079,8 +2301,8 @@
},
{
"in": "query",
- "name": "$top",
- "description": "for paging, item number in response",
+ "name": "$maxpagesize",
+ "description": "the maximum number of items in one page",
"type": "integer",
"format": "int32"
},
@@ -2301,6 +2523,19 @@
"modelAsString": true
}
},
+ "type": {
+ "description": "data used to implement value filter",
+ "default": "Value",
+ "enum": [
+ "Value",
+ "Mean"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValueType",
+ "modelAsString": true
+ }
+ },
"metricId": {
"format": "uuid",
"description": "the other metric unique id used for value filter",
@@ -2340,6 +2575,7 @@
},
"negationOperation": {
"description": "Negation operation",
+ "default": false,
"type": "boolean"
},
"dimensionAnomalyScope": {
@@ -2379,6 +2615,7 @@
},
"description": {
"description": "anomaly alerting configuration description",
+ "default": "",
"type": "string"
},
"crossMetricsOperator": {
@@ -2394,6 +2631,14 @@
"modelAsString": true
}
},
+ "splitAlertByDimensions": {
+ "description": "dimensions used to split alert",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
"hookIds": {
"description": "hook unique ids",
"uniqueItems": true,
@@ -2454,7 +2699,8 @@
"valueFilter": {
"lower": 0.0,
"upper": 1000.0,
- "direction": "Both"
+ "direction": "Both",
+ "type": "Value"
}
}
]
@@ -2469,6 +2715,7 @@
},
"description": {
"description": "anomaly alerting configuration description",
+ "default": "",
"type": "string"
},
"crossMetricsOperator": {
@@ -2484,6 +2731,14 @@
"modelAsString": true
}
},
+ "splitAlertByDimensions": {
+ "description": "dimensions used to split alert",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
"hookIds": {
"description": "hook unique ids",
"uniqueItems": true,
@@ -2666,6 +2921,18 @@
"name": "AnomalyStatus",
"modelAsString": true
}
+ },
+ "value": {
+ "format": "double",
+ "description": "value of the anomaly",
+ "type": "number",
+ "readOnly": true
+ },
+ "expectedValue": {
+ "format": "double",
+ "description": "expected value of the anomaly given by smart detector",
+ "type": "number",
+ "readOnly": true
}
}
},
@@ -2782,6 +3049,18 @@
"name": "IncidentStatus",
"modelAsString": true
}
+ },
+ "valueOfRootNode": {
+ "format": "double",
+ "description": "value of the root node",
+ "type": "number",
+ "readOnly": true
+ },
+ "expectedValueOfRootNode": {
+ "format": "double",
+ "description": "expected value of the root node given by smart detector",
+ "type": "number",
+ "readOnly": true
}
}
},
@@ -3084,6 +3363,7 @@
},
"description": {
"description": "anomaly detection configuration description",
+ "default": "",
"type": "string"
},
"metricId": {
@@ -3231,6 +3511,7 @@
},
"description": {
"description": "anomaly detection configuration description",
+ "default": "",
"type": "string"
},
"wholeMetricConfiguration": {
@@ -3741,61 +4022,367 @@
}
}
},
- "AzureApplicationInsightsParameter": {
+ "AzureSQLConnectionStringParam": {
"required": [
- "apiKey",
- "applicationId",
- "azureCloud",
- "query"
+ "connectionString"
],
"type": "object",
"properties": {
- "azureCloud": {
- "description": "Azure cloud environment",
- "type": "string"
- },
- "applicationId": {
- "description": "Azure Application Insights ID",
- "type": "string"
- },
- "apiKey": {
- "description": "API Key",
- "type": "string"
- },
- "query": {
- "description": "Query",
+ "connectionString": {
+ "description": "The connection string to access the Azure SQL.",
"type": "string"
}
}
},
- "Metric": {
+ "DataSourceCredential": {
"required": [
- "metricName"
+ "dataSourceCredentialName",
+ "dataSourceCredentialType"
],
"type": "object",
"properties": {
- "metricId": {
+ "dataSourceCredentialType": {
+ "description": "Type of data source credential",
+ "enum": [
+ "AzureSQLConnectionString",
+ "DataLakeGen2SharedKey",
+ "ServicePrincipal",
+ "ServicePrincipalInKV"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceCredentialType",
+ "modelAsString": true
+ }
+ },
+ "dataSourceCredentialId": {
"format": "uuid",
- "description": "metric id",
+ "description": "Unique id of data source credential",
"type": "string",
"readOnly": true
},
- "metricName": {
- "description": "metric name",
- "type": "string"
- },
- "metricDisplayName": {
- "description": "metric display name",
- "pattern": "[.a-zA-Z0-9_-]+",
+ "dataSourceCredentialName": {
+ "description": "Name of data source credential",
"type": "string"
},
- "metricDescription": {
- "description": "metric description",
+ "dataSourceCredentialDescription": {
+ "description": "Description of data source credential",
"type": "string"
}
+ },
+ "discriminator": "dataSourceCredentialType",
+ "example": {
+ "parameters": {
+ "clientId": "88888888-8888-8888-8888-888888888888",
+ "clientSecret": "fake-client-secret",
+ "tenantId": "12345678-1234-1234-1234-123456788888"
+ },
+ "dataSourceCredentialName": "A data source credential",
+ "dataSourceCredentialDescription": "This is a data source credential",
+ "dataSourceCredentialType": "ServicePrincipal"
}
},
- "Dimension": {
+ "AzureSQLConnectionStringCredential": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/AzureSQLConnectionStringParam"
+ }
+ },
+ "x-ms-discriminator-value": "AzureSQLConnectionString"
+ },
+ "DataLakeGen2SharedKeyParam": {
+ "required": [
+ "accountKey"
+ ],
+ "type": "object",
+ "properties": {
+ "accountKey": {
+ "description": "The account key to access the Azure Data Lake Storage Gen2.",
+ "type": "string"
+ }
+ }
+ },
+ "DataLakeGen2SharedKeyCredential": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/DataLakeGen2SharedKeyParam"
+ }
+ },
+ "x-ms-discriminator-value": "DataLakeGen2SharedKey"
+ },
+ "ServicePrincipalParam": {
+ "required": [
+ "clientId",
+ "clientSecret",
+ "tenantId"
+ ],
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "description": "The client id of the service principal.",
+ "type": "string"
+ },
+ "clientSecret": {
+ "description": "The client secret of the service principal.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant id of the service principal.",
+ "type": "string"
+ }
+ }
+ },
+ "ServicePrincipalCredential": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/ServicePrincipalParam"
+ }
+ },
+ "x-ms-discriminator-value": "ServicePrincipal"
+ },
+ "ServicePrincipalInKVParam": {
+ "required": [
+ "keyVaultClientId",
+ "keyVaultClientSecret",
+ "keyVaultEndpoint",
+ "servicePrincipalIdNameInKV",
+ "servicePrincipalSecretNameInKV",
+ "tenantId"
+ ],
+ "type": "object",
+ "properties": {
+ "keyVaultEndpoint": {
+ "description": "The Key Vault endpoint that storing the service principal.",
+ "type": "string"
+ },
+ "keyVaultClientId": {
+ "description": "The Client Id to access the Key Vault.",
+ "type": "string"
+ },
+ "keyVaultClientSecret": {
+ "description": "The Client Secret to access the Key Vault.",
+ "type": "string"
+ },
+ "servicePrincipalIdNameInKV": {
+ "description": "The secret name of the service principal's client Id in the Key Vault.",
+ "type": "string"
+ },
+ "servicePrincipalSecretNameInKV": {
+ "description": "The secret name of the service principal's client secret in the Key Vault.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant id of your service principal.",
+ "type": "string"
+ }
+ }
+ },
+ "ServicePrincipalInKVCredential": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredential"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/ServicePrincipalInKVParam"
+ }
+ },
+ "x-ms-discriminator-value": "ServicePrincipalInKV"
+ },
+ "DataSourceCredentialList": {
+ "type": "object",
+ "properties": {
+ "@nextLink": {
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataSourceCredential"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataSourceCredentialPatch": {
+ "required": [
+ "dataSourceCredentialType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSourceCredentialType": {
+ "description": "Type of data source credential",
+ "enum": [
+ "AzureApplicationInsights",
+ "AzureBlob",
+ "AzureCosmosDB",
+ "AzureDataExplorer",
+ "AzureDataLakeStorageGen2",
+ "AzureEventHubs",
+ "AzureTable",
+ "Elasticsearch",
+ "HttpRequest",
+ "InfluxDB",
+ "MongoDB",
+ "MySql",
+ "PostgreSql",
+ "SqlServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataSourceType",
+ "modelAsString": true
+ }
+ },
+ "dataSourceCredentialName": {
+ "description": "Name of data source credential",
+ "type": "string"
+ },
+ "dataSourceCredentialDescription": {
+ "description": "Description of data source credential",
+ "type": "string"
+ }
+ },
+ "discriminator": "dataSourceCredentialType",
+ "example": {
+ "dataSourceCredentialName": "A data source credential",
+ "dataSourceCredentialDescription": "This is a data source credential",
+ "dataSourceCredentialType": "AzureApplicationInsights"
+ }
+ },
+ "AzureSQLConnectionStringCredentialPatch": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredentialPatch"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/AzureSQLConnectionStringParam"
+ }
+ },
+ "x-ms-discriminator-value": "AzureSQLConnectionString"
+ },
+ "DataLakeGen2SharedKeyCredentialPatch": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredentialPatch"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/DataLakeGen2SharedKeyParam"
+ }
+ },
+ "x-ms-discriminator-value": "DataLakeGen2SharedKey"
+ },
+ "ServicePrincipalCredentialPatch": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredentialPatch"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/ServicePrincipalParam"
+ }
+ },
+ "x-ms-discriminator-value": "ServicePrincipal"
+ },
+ "ServicePrincipalInKVCredentialPatch": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSourceCredentialPatch"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "$ref": "#/definitions/ServicePrincipalInKVParam"
+ }
+ },
+ "x-ms-discriminator-value": "ServicePrincipalInKV"
+ },
+ "AzureApplicationInsightsParameter": {
+ "required": [
+ "apiKey",
+ "applicationId",
+ "azureCloud",
+ "query"
+ ],
+ "type": "object",
+ "properties": {
+ "azureCloud": {
+ "description": "Azure cloud environment",
+ "type": "string"
+ },
+ "applicationId": {
+ "description": "Azure Application Insights ID",
+ "type": "string"
+ },
+ "apiKey": {
+ "description": "API Key",
+ "type": "string"
+ },
+ "query": {
+ "description": "Query",
+ "type": "string"
+ }
+ }
+ },
+ "Metric": {
+ "required": [
+ "metricName"
+ ],
+ "type": "object",
+ "properties": {
+ "metricId": {
+ "format": "uuid",
+ "description": "metric id",
+ "type": "string",
+ "readOnly": true
+ },
+ "metricName": {
+ "description": "metric name",
+ "type": "string"
+ },
+ "metricDisplayName": {
+ "description": "metric display name",
+ "pattern": "[.a-zA-Z0-9_-]+",
+ "type": "string"
+ },
+ "metricDescription": {
+ "description": "metric description",
+ "type": "string"
+ }
+ }
+ },
+ "Dimension": {
"required": [
"dimensionName"
],
@@ -3830,6 +4417,7 @@
"AzureCosmosDB",
"AzureDataExplorer",
"AzureDataLakeStorageGen2",
+ "AzureEventHubs",
"AzureTable",
"Elasticsearch",
"HttpRequest",
@@ -3858,6 +4446,7 @@
},
"dataFeedDescription": {
"description": "data feed description",
+ "default": "",
"type": "string"
},
"granularityName": {
@@ -3901,6 +4490,7 @@
},
"timestampColumn": {
"description": "user-defined timestamp column. if timestampColumn is null, start time of every time slice will be used as default value.",
+ "default": "",
"type": "string"
},
"dataStartFrom": {
@@ -3934,7 +4524,7 @@
},
"needRollup": {
"description": "mark if the data feed need rollup",
- "default": "NeedRollup",
+ "default": "NoRollup",
"enum": [
"NoRollup",
"NeedRollup",
@@ -3948,6 +4538,7 @@
},
"rollUpMethod": {
"description": "roll up method",
+ "default": "None",
"enum": [
"None",
"Sum",
@@ -4054,6 +4645,28 @@
},
"actionLinkTemplate": {
"description": "action link for alert",
+ "default": "",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "authentication type for corresponding data source",
+ "default": "Basic",
+ "enum": [
+ "Basic",
+ "ManagedIdentity",
+ "AzureSQLConnectionString",
+ "DataLakeGen2SharedKey",
+ "ServicePrincipal",
+ "ServicePrincipalInKV"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationTypeEnum",
+ "modelAsString": true
+ }
+ },
+ "credentialId": {
+ "description": "The credential entity id",
"type": "string"
}
},
@@ -4097,23 +4710,22 @@
"rollUpMethod": "Sum",
"allUpIdentification": "__SUM__",
"fillMissingPointType": "SmartFilling",
- "viewMode": "Private"
+ "viewMode": "Private",
+ "authenticationType": "Basic"
}
},
"AzureApplicationInsightsDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureApplicationInsightsParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureApplicationInsightsParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureApplicationInsights"
},
"AzureBlobParameter": {
@@ -4139,19 +4751,17 @@
}
},
"AzureBlobDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureBlobParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureBlobParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureBlob"
},
"AzureCosmosDBParameter": {
@@ -4182,24 +4792,21 @@
}
},
"AzureCosmosDBDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureCosmosDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureCosmosDBParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureCosmosDB"
},
"SqlSourceParameter": {
"required": [
- "connectionString",
"query"
],
"type": "object",
@@ -4215,24 +4822,21 @@
}
},
"AzureDataExplorerDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureDataExplorer"
},
"AzureDataLakeStorageGen2Parameter": {
"required": [
- "accountKey",
"accountName",
"directoryTemplate",
"fileSystemName",
@@ -4263,20 +4867,49 @@
}
},
"AzureDataLakeStorageGen2DataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
+ }
+ ],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureDataLakeStorageGen2Parameter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureDataLakeStorageGen2"
+ },
+ "AzureEventHubsParameter": {
+ "required": [
+ "connectionString",
+ "consumerGroup"
+ ],
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "Azure Event Hubs connection string",
+ "type": "string"
},
+ "consumerGroup": {
+ "description": "Azure Event Hubs consumer group",
+ "type": "string"
+ }
+ }
+ },
+ "AzureEventHubsDataFeed": {
+ "type": "object",
+ "allOf": [
{
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureDataLakeStorageGen2Parameter"
- }
- }
+ "$ref": "#/definitions/DataFeedDetail"
}
],
- "x-ms-discriminator-value": "AzureDataLakeStorageGen2"
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureEventHubsParameter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureEventHubs"
},
"AzureTableParameter": {
"required": [
@@ -4301,19 +4934,17 @@
}
},
"AzureTableDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureTableParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureTableParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureTable"
},
"ElasticsearchParameter": {
@@ -4344,19 +4975,17 @@
}
},
"ElasticsearchDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/ElasticsearchParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/ElasticsearchParameter"
+ }
+ },
"x-ms-discriminator-value": "Elasticsearch"
},
"HttpRequestParameter": {
@@ -4387,19 +5016,17 @@
}
},
"HttpRequestDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/HttpRequestParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/HttpRequestParameter"
+ }
+ },
"x-ms-discriminator-value": "HttpRequest"
},
"InfluxDBParameter": {
@@ -4435,67 +5062,59 @@
}
},
"InfluxDBDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/InfluxDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/InfluxDBParameter"
+ }
+ },
"x-ms-discriminator-value": "InfluxDB"
},
"MySqlDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "MySql"
},
"PostgreSqlDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "PostgreSql"
},
"SQLServerDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "SqlServer"
},
"MongoDBParameter": {
@@ -4521,19 +5140,17 @@
}
},
"MongoDBDataFeed": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetail"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/MongoDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/MongoDBParameter"
+ }
+ },
"x-ms-discriminator-value": "MongoDB"
},
"DataFeedList": {
@@ -4566,6 +5183,7 @@
"AzureCosmosDB",
"AzureDataExplorer",
"AzureDataLakeStorageGen2",
+ "AzureEventHubs",
"AzureTable",
"Elasticsearch",
"HttpRequest",
@@ -4721,200 +5339,210 @@
"actionLinkTemplate": {
"description": "action link for alert",
"type": "string"
+ },
+ "authenticationType": {
+ "description": "authentication type for corresponding data source",
+ "enum": [
+ "Basic",
+ "ManagedIdentity",
+ "AzureSQLConnectionString",
+ "DataLakeGen2SharedKey",
+ "ServicePrincipal",
+ "ServicePrincipalInKV"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationTypeEnum",
+ "modelAsString": true
+ }
+ },
+ "credentialId": {
+ "description": "The credential entity id",
+ "type": "string"
}
},
"discriminator": "dataSourceType"
},
"AzureApplicationInsightsDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureApplicationInsightsParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureApplicationInsightsParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureApplicationInsights"
},
"AzureBlobDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureBlobParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureBlobParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureBlob"
},
"AzureCosmosDBDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureCosmosDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureCosmosDBParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureCosmosDB"
},
"AzureDataExplorerDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureDataExplorer"
},
"AzureDataLakeStorageGen2DataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureDataLakeStorageGen2Parameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureDataLakeStorageGen2Parameter"
+ }
+ },
"x-ms-discriminator-value": "AzureDataLakeStorageGen2"
},
- "AzureTableDataFeedPatch": {
+ "AzureEventHubsDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
+ }
+ ],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureEventHubsParameter"
+ }
+ },
+ "x-ms-discriminator-value": "AzureEventHubs"
+ },
+ "AzureTableDataFeedPatch": {
+ "type": "object",
+ "allOf": [
{
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/AzureTableParameter"
- }
- }
+ "$ref": "#/definitions/DataFeedDetailPatch"
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/AzureTableParameter"
+ }
+ },
"x-ms-discriminator-value": "AzureTable"
},
"ElasticsearchDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/ElasticsearchParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/ElasticsearchParameter"
+ }
+ },
"x-ms-discriminator-value": "Elasticsearch"
},
"HttpRequestDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/HttpRequestParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/HttpRequestParameter"
+ }
+ },
"x-ms-discriminator-value": "HttpRequest"
},
"InfluxDBDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/InfluxDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/InfluxDBParameter"
+ }
+ },
"x-ms-discriminator-value": "InfluxDB"
},
"MySqlDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "MySql"
},
"PostgreSqlDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"x-ms-discriminator-value": "PostgreSql"
},
"SQLServerDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/SqlSourceParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/SqlSourceParameter"
+ }
+ },
"example": {
"dataFeedName": "Sample - cost/revenue - city/category (modified)",
"viewers": [
@@ -4924,19 +5552,17 @@
"x-ms-discriminator-value": "SqlServer"
},
"MongoDBDataFeedPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/DataFeedDetailPatch"
- },
- {
- "type": "object",
- "properties": {
- "dataSourceParameter": {
- "$ref": "#/definitions/MongoDBParameter"
- }
- }
}
],
+ "properties": {
+ "dataSourceParameter": {
+ "$ref": "#/definitions/MongoDBParameter"
+ }
+ },
"x-ms-discriminator-value": "MongoDB"
},
"AnomalyFeedbackValue": {
@@ -5025,37 +5651,35 @@
"discriminator": "feedbackType"
},
"AnomalyFeedback": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/MetricFeedback"
- },
- {
- "type": "object",
- "properties": {
- "startTime": {
- "format": "date-time",
- "description": "the start timestamp of feedback time range",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "the end timestamp of feedback time range, when equals to startTime means only one timestamp",
- "type": "string"
- },
- "value": {
- "$ref": "#/definitions/AnomalyFeedbackValue"
- },
- "anomalyDetectionConfigurationId": {
- "format": "uuid",
- "description": "the corresponding anomaly detection configuration of this feedback",
- "type": "string"
- },
- "anomalyDetectionConfigurationSnapshot": {
- "$ref": "#/definitions/AnomalyDetectionConfiguration"
- }
- }
}
],
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "the start timestamp of feedback time range",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "the end timestamp of feedback time range, when equals to startTime means only one timestamp",
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/definitions/AnomalyFeedbackValue"
+ },
+ "anomalyDetectionConfigurationId": {
+ "format": "uuid",
+ "description": "the corresponding anomaly detection configuration of this feedback",
+ "type": "string"
+ },
+ "anomalyDetectionConfigurationSnapshot": {
+ "$ref": "#/definitions/AnomalyDetectionConfiguration"
+ }
+ },
"example": {
"startTime": "2020-01-01T00:00:00Z",
"endTime": "2020-01-01T00:00:00Z",
@@ -5094,29 +5718,27 @@
}
},
"ChangePointFeedback": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/MetricFeedback"
- },
- {
- "type": "object",
- "properties": {
- "startTime": {
- "format": "date-time",
- "description": "the start timestamp of feedback time range",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "the end timestamp of feedback time range, when equals to startTime means only one timestamp",
- "type": "string"
- },
- "value": {
- "$ref": "#/definitions/ChangePointFeedbackValue"
- }
- }
}
],
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "the start timestamp of feedback time range",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "the end timestamp of feedback time range, when equals to startTime means only one timestamp",
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/definitions/ChangePointFeedbackValue"
+ }
+ },
"x-ms-discriminator-value": "ChangePoint"
},
"CommentFeedbackValue": {
@@ -5132,29 +5754,27 @@
}
},
"CommentFeedback": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/MetricFeedback"
- },
- {
- "type": "object",
- "properties": {
- "startTime": {
- "format": "date-time",
- "description": "the start timestamp of feedback time range",
- "type": "string"
- },
- "endTime": {
- "format": "date-time",
- "description": "the end timestamp of feedback time range, when equals to startTime means only one timestamp",
- "type": "string"
- },
- "value": {
- "$ref": "#/definitions/CommentFeedbackValue"
- }
- }
}
],
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "the start timestamp of feedback time range",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "the end timestamp of feedback time range, when equals to startTime means only one timestamp",
+ "type": "string"
+ },
+ "value": {
+ "$ref": "#/definitions/CommentFeedbackValue"
+ }
+ },
"x-ms-discriminator-value": "Comment"
},
"PeriodFeedbackValue": {
@@ -5185,19 +5805,17 @@
}
},
"PeriodFeedback": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/MetricFeedback"
- },
- {
- "type": "object",
- "properties": {
- "value": {
- "$ref": "#/definitions/PeriodFeedbackValue"
- }
- }
}
],
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/PeriodFeedbackValue"
+ }
+ },
"x-ms-discriminator-value": "Period"
},
"MetricFeedbackFilter": {
@@ -5322,10 +5940,12 @@
},
"description": {
"description": "hook description",
+ "default": "",
"type": "string"
},
"externalLink": {
"description": "hook external link",
+ "default": "",
"type": "string"
},
"admins": {
@@ -5341,19 +5961,17 @@
"discriminator": "hookType"
},
"EmailHookInfo": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/HookInfo"
- },
- {
- "type": "object",
- "properties": {
- "hookParameter": {
- "$ref": "#/definitions/EmailHookParameter"
- }
- }
}
],
+ "properties": {
+ "hookParameter": {
+ "$ref": "#/definitions/EmailHookParameter"
+ }
+ },
"x-ms-discriminator-value": "Email"
},
"WebhookHookParameter": {
@@ -5392,19 +6010,17 @@
}
},
"WebhookHookInfo": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/HookInfo"
- },
- {
- "type": "object",
- "properties": {
- "hookParameter": {
- "$ref": "#/definitions/WebhookHookParameter"
- }
- }
}
],
+ "properties": {
+ "hookParameter": {
+ "$ref": "#/definitions/WebhookHookParameter"
+ }
+ },
"example": {
"hookParameter": {
"endpoint": "https://localhost/demo/post"
@@ -5476,35 +6092,31 @@
"discriminator": "hookType"
},
"EmailHookInfoPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/HookInfoPatch"
- },
- {
- "type": "object",
- "properties": {
- "hookParameter": {
- "$ref": "#/definitions/EmailHookParameter"
- }
- }
}
],
+ "properties": {
+ "hookParameter": {
+ "$ref": "#/definitions/EmailHookParameter"
+ }
+ },
"x-ms-discriminator-value": "Email"
},
"WebhookHookInfoPatch": {
+ "type": "object",
"allOf": [
{
"$ref": "#/definitions/HookInfoPatch"
- },
- {
- "type": "object",
- "properties": {
- "hookParameter": {
- "$ref": "#/definitions/WebhookHookParameter"
- }
- }
}
],
+ "properties": {
+ "hookParameter": {
+ "$ref": "#/definitions/WebhookHookParameter"
+ }
+ },
"example": {
"hookName": "A webhook (modified)",
"description": "This is a webhook. (modified)"
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createAnomalyAlertingConfiguration.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createAnomalyAlertingConfiguration.json
index 55bb7bc485c7..87c4aa248cb0 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createAnomalyAlertingConfiguration.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createAnomalyAlertingConfiguration.json
@@ -45,7 +45,8 @@
"valueFilter": {
"lower": 0.0,
"upper": 1000.0,
- "direction": "Both"
+ "direction": "Both",
+ "type": "Value"
}
}
]
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createCredential.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createCredential.json
new file mode 100644
index 000000000000..f0b149c802e1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createCredential.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "body": {
+ "parameters": {
+ "clientId": "88888888-8888-8888-8888-888888888888",
+ "clientSecret": "fake-client-secret",
+ "tenantId": "12345678-1234-1234-1234-123456788888"
+ },
+ "dataSourceCredentialName": "A data source credential",
+ "dataSourceCredentialDescription": "This is a data source credential",
+ "dataSourceCredentialType": "ServicePrincipal"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createDataFeed.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createDataFeed.json
index 7db33d1dfd96..f30e968aab67 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createDataFeed.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/createDataFeed.json
@@ -42,7 +42,8 @@
"rollUpMethod": "Sum",
"allUpIdentification": "__SUM__",
"fillMissingPointType": "SmartFilling",
- "viewMode": "Private"
+ "viewMode": "Private",
+ "authenticationType": "Basic"
}
},
"responses": {
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/deleteCredential.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/deleteCredential.json
new file mode 100644
index 000000000000..11618b5e2118
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/deleteCredential.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "credentialId": "01234567-8901-2345-6789-012345678901"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getAnomaliesByAnomalyDetectionConfiguration.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getAnomaliesByAnomalyDetectionConfiguration.json
index 0b2b7997cf68..fd65ebd4dd70 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getAnomaliesByAnomalyDetectionConfiguration.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getAnomaliesByAnomalyDetectionConfiguration.json
@@ -39,7 +39,9 @@
},
"property": {
"anomalySeverity": "High",
- "anomalyStatus": "Active"
+ "anomalyStatus": "Active",
+ "value": 1.0,
+ "expectedValue": 100.0
}
}
]
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getAnomaliesFromAlertByAnomalyAlertingConfiguration.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getAnomaliesFromAlertByAnomalyAlertingConfiguration.json
index 4ff0ee79068c..041770dbc4b0 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getAnomaliesFromAlertByAnomalyAlertingConfiguration.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getAnomaliesFromAlertByAnomalyAlertingConfiguration.json
@@ -22,7 +22,9 @@
},
"property": {
"anomalySeverity": "High",
- "anomalyStatus": "Active"
+ "anomalyStatus": "Active",
+ "value": 1.0,
+ "expectedValue": 100.0
}
}
]
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getCredential.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getCredential.json
new file mode 100644
index 000000000000..e76d8a8c19ce
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getCredential.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "credentialId": "01234567-8901-2345-6789-012345678901"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "parameters": {
+ "clientId": "88888888-8888-8888-8888-888888888888",
+ "clientSecret": "fake-client-secret",
+ "tenantId": "12345678-1234-1234-1234-123456788888"
+ },
+ "dataSourceCredentialId": "01234567-0000-0000-0000-000000000002",
+ "dataSourceCredentialName": "A data source credential",
+ "dataSourceCredentialDescription": "This is a data source credential",
+ "dataSourceCredentialType": "ServicePrincipal"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getDataFeedById.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getDataFeedById.json
index c78cf89d8cfc..f8ad125f2454 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getDataFeedById.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getDataFeedById.json
@@ -57,7 +57,8 @@
"isAdmin": true,
"creator": "admin@company.example",
"status": "Active",
- "createdTime": "2020-03-01T00:00:00.000Z"
+ "createdTime": "2020-03-01T00:00:00.000Z",
+ "authenticationType": "Basic"
}
}
}
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getDataFeedIngestionStatus.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getDataFeedIngestionStatus.json
index a0a4eac1ec42..1f1be2f297cd 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getDataFeedIngestionStatus.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getDataFeedIngestionStatus.json
@@ -13,7 +13,7 @@
"200": {
"headers": {},
"body": {
- "@nextLink": "https://localhost/dataFeeds/01234567-8901-2345-6789-012345678901/ingestionStatus/query?$skip=2&$top=2",
+ "@nextLink": "https://localhost/dataFeeds/01234567-8901-2345-6789-012345678901/ingestionStatus/query?$skip=2&$maxpagesize=2",
"value": [
{
"timestamp": "2020-01-01T00:00:00.000Z",
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getEnrichmentStatusByMetric.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getEnrichmentStatusByMetric.json
index d2b37e657ae7..cf52d7bd866f 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getEnrichmentStatusByMetric.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getEnrichmentStatusByMetric.json
@@ -13,7 +13,7 @@
"200": {
"headers": {},
"body": {
- "@nextLink": "https://localhost/metrics/22222222-2222-2222-2222-000000000001/status/enrichment/anomalyDetection/query?$skip=2&$top=2",
+ "@nextLink": "https://localhost/metrics/22222222-2222-2222-2222-000000000001/status/enrichment/anomalyDetection/query?$skip=2&$maxpagesize=2",
"value": [
{
"timestamp": "2020-01-01T00:00:00.000Z",
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsByAnomalyDetectionConfiguration.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsByAnomalyDetectionConfiguration.json
index e2dc2b033536..6a71efc28aa8 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsByAnomalyDetectionConfiguration.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsByAnomalyDetectionConfiguration.json
@@ -37,7 +37,9 @@
},
"property": {
"maxSeverity": "High",
- "incidentStatus": "Active"
+ "incidentStatus": "Active",
+ "valueOfRootNode": 1.0,
+ "expectedValueOfRootNode": 100.0
}
}
]
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsByAnomalyDetectionConfigurationNextPages.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsByAnomalyDetectionConfigurationNextPages.json
index ca486dff0444..395b9963e97d 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsByAnomalyDetectionConfigurationNextPages.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsByAnomalyDetectionConfigurationNextPages.json
@@ -23,7 +23,9 @@
},
"property": {
"maxSeverity": "High",
- "incidentStatus": "Active"
+ "incidentStatus": "Active",
+ "valueOfRootNode": 1.0,
+ "expectedValueOfRootNode": 100.0
}
}
]
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsFromAlertByAnomalyAlertingConfiguration.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsFromAlertByAnomalyAlertingConfiguration.json
index 7338f495b54e..e03e6c71b4f8 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsFromAlertByAnomalyAlertingConfiguration.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getIncidentsFromAlertByAnomalyAlertingConfiguration.json
@@ -24,7 +24,9 @@
},
"property": {
"maxSeverity": "High",
- "incidentStatus": "Active"
+ "incidentStatus": "Active",
+ "valueOfRootNode": 1.0,
+ "expectedValueOfRootNode": 100.0
}
}
]
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getMetricDimension.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getMetricDimension.json
index 5112c4b19a28..315c9039a372 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getMetricDimension.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getMetricDimension.json
@@ -12,7 +12,7 @@
"200": {
"headers": {},
"body": {
- "@nextLink": "https://localhost/metrics/22222222-2222-2222-2222-000000000001/dimension/query?$skip=2&$top=2",
+ "@nextLink": "https://localhost/metrics/22222222-2222-2222-2222-000000000001/dimension/query?$skip=2&$maxpagesize=2",
"value": [
"__SUM__",
"Beijing"
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getMetricSeries.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getMetricSeries.json
index 9013cfa69a67..694dbc2f0027 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getMetricSeries.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/getMetricSeries.json
@@ -17,7 +17,7 @@
"200": {
"headers": {},
"body": {
- "@nextLink": "https://localhost/metrics/22222222-2222-2222-2222-000000000001/series/query?$skip=2&$top=2",
+ "@nextLink": "https://localhost/metrics/22222222-2222-2222-2222-000000000001/series/query?$skip=2&$maxpagesize=2",
"value": [
{
"metricId": "22222222-2222-2222-2222-000000000001",
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listCredentials.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listCredentials.json
new file mode 100644
index 000000000000..c4c401d36af7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listCredentials.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "@nextLink": "https://localhost/credentials?$skip=1&$maxpagesize=1",
+ "value": [
+ {
+ "parameters": {
+ "clientId": "88888888-8888-8888-8888-888888888888",
+ "clientSecret": "fake-client-secret",
+ "tenantId": "12345678-1234-1234-1234-123456788888"
+ },
+ "dataSourceCredentialId": "01234567-0000-0000-0000-000000000002",
+ "dataSourceCredentialName": "A data source credential",
+ "dataSourceCredentialDescription": "This is a data source credential",
+ "dataSourceCredentialType": "ServicePrincipal"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listDataFeeds.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listDataFeeds.json
index 29ac2cb33c03..e94aa0242d07 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listDataFeeds.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listDataFeeds.json
@@ -12,7 +12,7 @@
"200": {
"headers": {},
"body": {
- "@nextLink": "https://localhost/dataFeeds?$skip=1&$top=1",
+ "@nextLink": "https://localhost/dataFeeds?$skip=1&$maxpagesize=1",
"value": [
{
"dataSourceParameter": {
@@ -64,7 +64,8 @@
"isAdmin": true,
"creator": "admin@company.example",
"status": "Active",
- "createdTime": "2020-03-01T00:00:00.000Z"
+ "createdTime": "2020-03-01T00:00:00.000Z",
+ "authenticationType": "Basic"
}
]
}
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listHooks.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listHooks.json
index b4f06320519f..b8edd629b046 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listHooks.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listHooks.json
@@ -8,7 +8,7 @@
"200": {
"headers": {},
"body": {
- "@nextLink": "https://localhost/hooks?$skip=1&$top=1",
+ "@nextLink": "https://localhost/hooks?$skip=1&$maxpagesize=1",
"value": [
{
"hookParameter": {
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listMetricFeedbacks.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listMetricFeedbacks.json
index a7f095cd7bf6..b197dc06b113 100644
--- a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listMetricFeedbacks.json
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/listMetricFeedbacks.json
@@ -15,7 +15,7 @@
"200": {
"headers": {},
"body": {
- "@nextLink": "https://localhost/feedback?$skip=1&$top=1",
+ "@nextLink": "https://localhost/feedback?$skip=1&$maxpagesize=1",
"value": [
{
"startTime": "2020-01-01T00:00:00.000Z",
diff --git a/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateCredential.json b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateCredential.json
new file mode 100644
index 000000000000..5fbdda3dddee
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/MetricsAdvisor/preview/v1.0/examples/updateCredential.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "credentialId": "01234567-8901-2345-6789-012345678901",
+ "Content-Type": "application/merge-patch+json",
+ "body": {
+ "dataSourceCredentialName": "A data source credential",
+ "dataSourceCredentialDescription": "This is a data source credential",
+ "dataSourceCredentialType": "AzureApplicationInsights"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/NewsSearch/readme.go.md b/specification/cognitiveservices/data-plane/NewsSearch/readme.go.md
index 16b18ebe45f2..fdb2dbad735b 100644
--- a/specification/cognitiveservices/data-plane/NewsSearch/readme.go.md
+++ b/specification/cognitiveservices/data-plane/NewsSearch/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: newssearch
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/Personalizer/readme.go.md b/specification/cognitiveservices/data-plane/Personalizer/readme.go.md
index 840c1723868a..1bef9b08ae54 100644
--- a/specification/cognitiveservices/data-plane/Personalizer/readme.go.md
+++ b/specification/cognitiveservices/data-plane/Personalizer/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: personalizer
clear-output-folder: true
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/QnAMaker.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/QnAMaker.json
new file mode 100644
index 000000000000..6d76a5e4131e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/QnAMaker.json
@@ -0,0 +1,2090 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v5.0-preview.2",
+ "title": "QnAMaker Client",
+ "description": "An API for QnAMaker Service"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/qnamaker/v5.0-preview.2",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/endpointSettings": {
+ "get": {
+ "summary": "Gets endpoint settings for an endpoint.",
+ "operationId": "EndpointSettings_GetSettings",
+ "parameters": [],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Response with endpoint settings info in it.",
+ "schema": {
+ "$ref": "#/definitions/EndpointSettingsDTO"
+ },
+ "x-nullable": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulGetEpSettings.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "EndpointKeys"
+ ],
+ "summary": "Updates endpoint settings for an endpoint.",
+ "operationId": "EndpointSettings_UpdateSettings",
+ "parameters": [
+ {
+ "$ref": "#/parameters/EndpointSettingsPayload"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "HTTP 204 No Content."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulSetEpSettings.json"
+ }
+ }
+ }
+ },
+ "/endpointkeys": {
+ "get": {
+ "summary": "Gets endpoint keys for an endpoint",
+ "operationId": "EndpointKeys_GetKeys",
+ "parameters": [],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Response with endpoint info in it.",
+ "schema": {
+ "$ref": "#/definitions/EndpointKeysDTO"
+ },
+ "x-nullable": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulGetEpKeys.json"
+ }
+ }
+ }
+ },
+ "/endpointkeys/{keyType}": {
+ "patch": {
+ "tags": [
+ "EndpointKeys"
+ ],
+ "summary": "Re-generates an endpoint key.",
+ "operationId": "EndpointKeys_RefreshKeys",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KeyType"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Details of the endpoint keys generated.",
+ "schema": {
+ "$ref": "#/definitions/EndpointKeysDTO"
+ },
+ "x-nullable": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulSetEpKeys.json"
+ }
+ }
+ }
+ },
+ "/alterations": {
+ "get": {
+ "tags": [
+ "Alterations"
+ ],
+ "summary": "Download alterations from runtime.",
+ "operationId": "Alterations_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Alterations data.",
+ "schema": {
+ "$ref": "#/definitions/WordAlterationsDTO"
+ },
+ "x-nullable": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulGetAlts.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Alterations"
+ ],
+ "summary": "Replace alterations data.",
+ "operationId": "Alterations_Replace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/WordAlterations"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "HTTP 204 No Content."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulSetAlts.json"
+ }
+ }
+ }
+ },
+ "/alterations/{kbId}": {
+ "get": {
+ "tags": [
+ "Alterations"
+ ],
+ "summary": "Download alterations per Knowledgebase (QnAMaker Managed).",
+ "operationId": "Alterations_GetAlterationsForKb",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Alterations data.",
+ "schema": {
+ "$ref": "#/definitions/WordAlterationsDTO"
+ },
+ "x-nullable": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulGetAltsForKb.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Alterations"
+ ],
+ "summary": "Replace alterations data per Knowledgebase (QnAMaker Managed).",
+ "operationId": "Alterations_ReplaceAlterationsForKb",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ },
+ {
+ "$ref": "#/parameters/WordAlterations"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "HTTP 204 No Content."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulSetAltsForKb.json"
+ }
+ }
+ }
+ },
+ "/knowledgebases": {
+ "get": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "Gets all knowledgebases for a user.",
+ "operationId": "Knowledgebase_ListAll",
+ "parameters": [],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of knowledgebases.",
+ "schema": {
+ "$ref": "#/definitions/KnowledgebasesDTO"
+ },
+ "x-nullable": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulKbsResponse.json"
+ }
+ }
+ }
+ },
+ "/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Gets details of a specific long running operation.",
+ "operationId": "Operations_GetDetails",
+ "parameters": [
+ {
+ "$ref": "#/parameters/OperationId"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Details of the long running operation.",
+ "schema": {
+ "$ref": "#/definitions/Operation"
+ },
+ "x-nullable": true,
+ "headers": {
+ "RetryAfter": {
+ "type": "integer",
+ "description": "Indicates how long the client should wait before sending a follow up request. The header will be present only if the operation is running or has not started yet."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulGetOps.json"
+ }
+ }
+ }
+ },
+ "/knowledgebases/{kbId}": {
+ "get": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "Gets details of a specific knowledgebase.",
+ "operationId": "Knowledgebase_GetDetails",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Details of the knowledgebase.",
+ "schema": {
+ "$ref": "#/definitions/KnowledgebaseDTO"
+ },
+ "x-nullable": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulGetKb.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "Deletes the knowledgebase and all its data.",
+ "operationId": "Knowledgebase_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "HTTP 204 No content."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulDelKb.json"
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "Publishes all changes in test index of a knowledgebase to its prod index.",
+ "operationId": "Knowledgebase_Publish",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "HTTP 204 No content."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulPubKb.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "Replace knowledgebase contents.",
+ "operationId": "Knowledgebase_Replace",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ },
+ {
+ "$ref": "#/parameters/ReplaceKb"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "HTTP 204 No content."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulRepKb.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "Asynchronous operation to modify a knowledgebase.",
+ "operationId": "Knowledgebase_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ },
+ {
+ "$ref": "#/parameters/UpdateKb"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "Details of the asynchronous operation.",
+ "schema": {
+ "$ref": "#/definitions/Operation"
+ },
+ "x-nullable": true,
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Relative URI to the target location of the asynchronous operation. Client should poll this resource to get status of the operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulUpdKb.json"
+ }
+ }
+ }
+ },
+ "/knowledgebases/create": {
+ "post": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "Asynchronous operation to create a new knowledgebase.",
+ "operationId": "Knowledgebase_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/CreateKbPayload"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "Details of the asynchronous operation.",
+ "schema": {
+ "$ref": "#/definitions/Operation"
+ },
+ "x-nullable": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulCreateKb.json"
+ }
+ }
+ }
+ },
+ "/knowledgebases/{kbId}/{environment}/qna": {
+ "get": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "Download the knowledgebase.",
+ "operationId": "Knowledgebase_Download",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ },
+ {
+ "$ref": "#/parameters/Environment"
+ },
+ {
+ "name": "source",
+ "in": "query",
+ "description": "The source property filter to apply.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "changedSince",
+ "in": "query",
+ "description": "The last changed status property filter to apply.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of all Q-A in the knowledgebase.",
+ "schema": {
+ "$ref": "#/definitions/QnADocumentsDTO"
+ },
+ "x-nullable": true
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulDownloadKb.json"
+ }
+ }
+ }
+ },
+ "/knowledgebases/{kbId}/generateAnswer": {
+ "post": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "GenerateAnswer call to query knowledgebase (QnA Maker Managed).",
+ "operationId": "Knowledgebase_GenerateAnswer",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ },
+ {
+ "$ref": "#/parameters/GenerateAnswerPayload"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "GenerateAnswer call response.",
+ "schema": {
+ "$ref": "#/definitions/QnASearchResultList"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulGenAns.json"
+ }
+ }
+ }
+ },
+ "/knowledgebases/{kbId}/train": {
+ "post": {
+ "tags": [
+ "Knowledgebases"
+ ],
+ "summary": "Train call to add suggestions to knowledgebase (QnAMaker Managed).",
+ "operationId": "Knowledgebase_Train",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KbId"
+ },
+ {
+ "$ref": "#/parameters/TrainPayload"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "HTTP 204 No Content."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulTrain.json"
+ }
+ }
+ }
+ },
+ "/generateAnswer": {
+ "post": {
+ "tags": [
+ "Prebuilt"
+ ],
+ "summary": "GenerateAnswer call to query text in documents.",
+ "operationId": "Prebuilt_GenerateAnswer",
+ "parameters": [
+ {
+ "$ref": "#/parameters/PrebuiltGenerateAnswerPayload"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Prebuilt GenerateAnswer call response.",
+ "schema": {
+ "$ref": "#/definitions/GenerateAnswerBatchResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/SuccessfulPreBuiltGenAns.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UpdateKbOperationDTO": {
+ "type": "object",
+ "description": "Contains list of QnAs to be updated",
+ "additionalProperties": false,
+ "properties": {
+ "add": {
+ "description": "An instance of CreateKbInputDTO for add operation",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CreateKbInputDTO"
+ }
+ ]
+ },
+ "delete": {
+ "description": "An instance of DeleteKbContentsDTO for delete Operation",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeleteKbContentsDTO"
+ }
+ ]
+ },
+ "update": {
+ "description": "An instance of UpdateKbContentsDTO for Update Operation",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateKbContentsDTO"
+ }
+ ]
+ },
+ "enableHierarchicalExtraction": {
+ "type": "boolean",
+ "description": "Enable hierarchical extraction of Q-A from files and urls. The value set during KB creation will be used if this field is not present."
+ },
+ "defaultAnswerUsedForExtraction": {
+ "type": "string",
+ "description": "Text string to be used as the answer in any Q-A which has no extracted answer from the document but has a hierarchy. Required when EnableHierarchicalExtraction field is set to True.",
+ "maxLength": 300,
+ "minLength": 1
+ }
+ }
+ },
+ "UpdateKbContentsDTO": {
+ "type": "object",
+ "description": "PATCH body schema for Update operation in Update Kb",
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Friendly name for the knowledgebase."
+ },
+ "qnaList": {
+ "type": "array",
+ "description": "List of Q-A (UpdateQnaDTO) to be added to the knowledgebase.",
+ "items": {
+ "$ref": "#/definitions/UpdateQnaDTO"
+ }
+ },
+ "urls": {
+ "type": "array",
+ "description": "List of existing URLs to be refreshed. The content will be extracted again and re-indexed.",
+ "maxLength": 10,
+ "items": {
+ "type": "string"
+ }
+ },
+ "defaultAnswer": {
+ "type": "string",
+ "description": "Default answer sent to user if no good match is found in the KB.",
+ "maxLength": 300,
+ "minLength": 1
+ }
+ }
+ },
+ "UpdateQnaDTO": {
+ "type": "object",
+ "description": "PATCH Body schema for Update Qna List",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "Unique id for the Q-A",
+ "format": "int32",
+ "maximum": 2147483647,
+ "minimum": 0
+ },
+ "answer": {
+ "type": "string",
+ "description": "Answer text"
+ },
+ "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": {
+ "description": "List of questions associated with the answer.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateQuestionsDTO"
+ }
+ ]
+ },
+ "metadata": {
+ "description": "List of metadata associated with the answer to be updated",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateMetadataDTO"
+ }
+ ]
+ },
+ "context": {
+ "description": "Context associated with Qna to be updated.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateContextDTO"
+ }
+ ]
+ }
+ }
+ },
+ "UpdateQuestionsDTO": {
+ "type": "object",
+ "description": "PATCH Body schema for Update Kb which contains list of questions to be added and deleted",
+ "additionalProperties": false,
+ "properties": {
+ "add": {
+ "type": "array",
+ "description": "List of questions to be added",
+ "maxLength": 100,
+ "items": {
+ "type": "string"
+ }
+ },
+ "delete": {
+ "type": "array",
+ "description": "List of questions to be deleted.",
+ "maxLength": 100,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "UpdateMetadataDTO": {
+ "type": "object",
+ "description": "PATCH Body schema to represent list of Metadata to be updated",
+ "additionalProperties": false,
+ "properties": {
+ "delete": {
+ "type": "array",
+ "description": "List of Metadata associated with answer to be deleted",
+ "maxLength": 100,
+ "items": {
+ "$ref": "#/definitions/MetadataDTO"
+ }
+ },
+ "add": {
+ "type": "array",
+ "description": "List of metadata associated with answer to be added",
+ "maxLength": 100,
+ "items": {
+ "$ref": "#/definitions/MetadataDTO"
+ }
+ }
+ }
+ },
+ "UpdateContextDTO": {
+ "type": "object",
+ "description": "Update Body schema to represent context to be updated",
+ "properties": {
+ "promptsToDelete": {
+ "type": "array",
+ "description": "List of prompts associated with qna to be deleted",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "promptsToAdd": {
+ "type": "array",
+ "description": "List of prompts to be added to the qna.",
+ "items": {
+ "$ref": "#/definitions/PromptDTO"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "DeleteKbContentsDTO": {
+ "type": "object",
+ "description": "PATCH body schema of Delete Operation in UpdateKb",
+ "additionalProperties": false,
+ "properties": {
+ "ids": {
+ "type": "array",
+ "description": "List of Qna Ids to be deleted",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "sources": {
+ "type": "array",
+ "description": "List of sources to be deleted from knowledgebase.",
+ "maxLength": 300,
+ "minLength": 1,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CreateKbInputDTO": {
+ "type": "object",
+ "description": "Input to create KB.",
+ "additionalProperties": false,
+ "properties": {
+ "qnaList": {
+ "type": "array",
+ "description": "List of QNA to be added to the index. Ids are generated by the service and should be omitted.",
+ "items": {
+ "$ref": "#/definitions/QnADTO"
+ }
+ },
+ "urls": {
+ "type": "array",
+ "description": "List of URLs to be added to knowledgebase.",
+ "maxLength": 10,
+ "items": {
+ "type": "string"
+ }
+ },
+ "files": {
+ "type": "array",
+ "description": "List of files to be added to knowledgebase.",
+ "maxLength": 10,
+ "items": {
+ "$ref": "#/definitions/FileDTO"
+ }
+ }
+ }
+ },
+ "QnADocumentsDTO": {
+ "type": "object",
+ "description": "List of QnADTO",
+ "additionalProperties": false,
+ "properties": {
+ "qnaDocuments": {
+ "type": "array",
+ "description": "List of answers.",
+ "items": {
+ "$ref": "#/definitions/QnADTO"
+ }
+ }
+ }
+ },
+ "CreateKbDTO": {
+ "type": "object",
+ "description": "Post body schema for CreateKb operation.",
+ "additionalProperties": false,
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Friendly name for the knowledgebase.",
+ "maxLength": 100,
+ "minLength": 1
+ },
+ "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.",
+ "maxLength": 1000,
+ "items": {
+ "$ref": "#/definitions/QnADTO"
+ }
+ },
+ "urls": {
+ "type": "array",
+ "description": "List of URLs to be used for extracting Q-A.",
+ "maxLength": 10,
+ "items": {
+ "type": "string"
+ }
+ },
+ "files": {
+ "type": "array",
+ "description": "List of files from which to Extract Q-A.",
+ "maxLength": 10,
+ "items": {
+ "$ref": "#/definitions/FileDTO"
+ }
+ },
+ "enableHierarchicalExtraction": {
+ "type": "boolean",
+ "description": "Enable hierarchical extraction of Q-A from files and urls. Value to be considered False if this field is not present."
+ },
+ "defaultAnswerUsedForExtraction": {
+ "type": "string",
+ "description": "Text string to be used as the answer in any Q-A which has no extracted answer from the document but has a hierarchy. Required when EnableHierarchicalExtraction field is set to True.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "language": {
+ "type": "string",
+ "description": "Language of the knowledgebase. Please find the list of supported languages 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."
+ },
+ "isUnstructured": {
+ "type": "boolean",
+ "description": "Optional Flag to specify if the given file is Unstructured."
+ }
+ }
+ },
+ "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"
+ }
+ ]
+ },
+ "includeUnstructuredSources": {
+ "type": "boolean",
+ "description": "Optional Flag to enable Query over Unstructured Sources."
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "PrebuiltQuery": {
+ "type": "object",
+ "description": "POST body schema to query the documents via Prebuilt Question Answering.",
+ "required": [
+ "question",
+ "documents"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "question": {
+ "type": "string",
+ "description": "User question to query against the given documents."
+ },
+ "documents": {
+ "type": "array",
+ "description": "Documents to be searched for given question.",
+ "items": {
+ "$ref": "#/definitions/TextInput"
+ }
+ },
+ "language": {
+ "type": "string",
+ "description": "(Optional) Language of the documents. This is 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.",
+ "maxLength": 100,
+ "minLength": 2
+ }
+ }
+ },
+ "GenerateAnswerBatchResult": {
+ "type": "object",
+ "description": "Represents List of Answer Results.",
+ "maxLength": 5,
+ "items": {
+ "$ref": "#/definitions/GenerateAnswerBatchResultItem"
+ }
+ },
+ "GenerateAnswerBatchResultItem": {
+ "type": "object",
+ "description": "Represents Prebuilt Answer Result.",
+ "additionalProperties": false,
+ "properties": {
+ "answer": {
+ "type": "string",
+ "description": "Answer."
+ },
+ "score": {
+ "type": "number",
+ "description": "Search result score."
+ },
+ "id": {
+ "type": "string",
+ "description": "Document Id."
+ },
+ "answerSpan": {
+ "type": "object",
+ "description": "Answer span object with respect to user's question.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AnswerSpanResponseDTO"
+ }
+ ]
+ },
+ "answerStartIndex": {
+ "type": "integer",
+ "description": "Start index of answer in document text.",
+ "format": "int32"
+ },
+ "answerEndIndex": {
+ "type": "integer",
+ "description": "End index of answer in document text.",
+ "format": "int32"
+ }
+ }
+ },
+ "TextInput": {
+ "type": "object",
+ "description": "List of documents to be queried over.",
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the document."
+ },
+ "text": {
+ "type": "string",
+ "description": "Text contents of the document"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "PrebuiltGenerateAnswerPayload": {
+ "name": "prebuiltGenerateAnswerPayload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrebuiltQuery"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ },
+ "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.",
+ "default": "TextElements_v8",
+ "enum": [
+ "TextElements_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulCreateKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulCreateKb.json
new file mode 100644
index 000000000000..2f0bc8e9ee82
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulDelKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulDelKb.json
new file mode 100644
index 000000000000..bcd50173c37b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulDownloadKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulDownloadKb.json
new file mode 100644
index 000000000000..9c4bb3d38824
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulGenAns.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulGenAns.json
new file mode 100644
index 000000000000..c225ade135db
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulGetAlts.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulGetAlts.json
new file mode 100644
index 000000000000..465b1152950e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulGetAltsForKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulGetAltsForKb.json
new file mode 100644
index 000000000000..dcd63a18be30
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulGetEpKeys.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulGetEpKeys.json
new file mode 100644
index 000000000000..a32d6baa42de
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulGetEpSettings.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulGetEpSettings.json
new file mode 100644
index 000000000000..97cc7fcac360
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulGetKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulGetKb.json
new file mode 100644
index 000000000000..fbec604c70f5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulGetOps.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulGetOps.json
new file mode 100644
index 000000000000..85e84d90aed9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulKbsResponse.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulKbsResponse.json
new file mode 100644
index 000000000000..aab19445e730
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulPreBuiltGenAns.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulPreBuiltGenAns.json
new file mode 100644
index 000000000000..114745fb2259
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulPreBuiltGenAns.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "prebuiltGenerateAnswerPayload": {
+ "question": "qna maker and luis",
+ "documents": [
+ {
+ "text": "Graphics Surprise, surprise -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming",
+ "id": "1"
+ },
+ {
+ "text": "Graphics Surprise, surprise -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming",
+ "id": "2"
+ }
+ ],
+ "language": "en"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "answers": [
+ {
+ "answer": "Graphics Surprise, surprise -- our 4K Envy 13 came with a discrete graphics card. While the Nvidia GeForce MX250 GPU isn't meant for demanding gaming, it is a step up from integrated graphics as proven by comparing it to the UHD 620 GPU in the FHD model.",
+ "answerSpan": {
+ "endIndex": 82,
+ "startIndex": 60,
+ "text": "discrete graphics card",
+ "score": 0.0
+ },
+ "answerEndIndex": 655,
+ "answerStartIndex": 0,
+ "id": 1,
+ "score": 100.0
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulPubKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulPubKb.json
new file mode 100644
index 000000000000..bcd50173c37b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulRepKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulRepKb.json
new file mode 100644
index 000000000000..fd6ba1224539
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulSetAlts.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulSetAlts.json
new file mode 100644
index 000000000000..ba8facefde92
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulSetAltsForKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulSetAltsForKb.json
new file mode 100644
index 000000000000..6dc5ca492391
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulSetEpKeys.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulSetEpKeys.json
new file mode 100644
index 000000000000..925d4f65d77d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulSetEpSettings.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulSetEpSettings.json
new file mode 100644
index 000000000000..468c0b59680a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulTrain.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulTrain.json
new file mode 100644
index 000000000000..4dabb5d81c35
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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.2/examples/SuccessfulUpdKb.json b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/examples/SuccessfulUpdKb.json
new file mode 100644
index 000000000000..3c717ca27123
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/preview/v5.0-preview.2/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 ac3d12f87b38..0b7db5b7d39a 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
@@ -15,6 +15,7 @@ batch:
- tag: release_4_0
- tag: runtime_release_4_0
- tag: release_5_0_preview.1
+ - tag: release_5_0_preview.2
```
### Tag: release_4_0 and go
@@ -46,3 +47,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_5_0_preview.2' && $(go)
+namespace: qnamaker
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/cognitiveservices/v5.0-preview.2/$(namespace)
+```
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.md
index df7bb80d5701..e9fe9c5d81e9 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.md
@@ -9,7 +9,6 @@ A preview release `release_5_0_preview.1` is also available.
``` yaml
-
tag: release_4_0
add-credentials: true
openapi-type: data-plane
@@ -33,6 +32,18 @@ add-credentials: true
openapi-type: data-plane
```
+``` yaml
+tag: release_5_0_preview.2
+add-credentials: true
+openapi-type: data-plane
+```
+
+``` yaml
+tag: runtime_release_preview.2
+add-credentials: true
+openapi-type: data-plane
+```
+
# Releases
### Release 4.0
@@ -56,11 +67,19 @@ These settings apply only when `--tag=release_5_0_preview.1` is specified on the
input-file: preview/v5.0-preview.1/QnAMaker.json
```
-``` yaml
+### Release 5.0-preview.2
+These settings apply only when `--tag=release_5_0_preview.2` is specified on the command line.
+
+``` yaml $(tag) == 'release_5_0_preview.2'
+input-file: preview/v5.0-preview.2/QnAMaker.json
+```
+
+``` yaml $(multiapi)
batch:
- tag: release_4_0
- tag: runtime_release_4_0
- tag: release_5_0_preview.1
+ - tag: release_5_0_preview.2
```
## Swagger to SDK
@@ -117,6 +136,20 @@ csharp:
clear-output-folder: true
```
+## CSharp Settings Release 5.0-preview.2
+
+These settings apply only when `--csharp --tag=release_5_0_preview.2` is specified on the command line.
+
+``` yaml $(csharp) && $(tag) == 'release_5_0_preview.2'
+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)
@@ -156,6 +189,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.2'
+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.
@@ -171,6 +219,7 @@ 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
+ - $(this-folder)/preview/v5.0-preview.2/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 3f98fa061bd4..e20d2b6d8598 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.nodejs.md
@@ -25,3 +25,16 @@ nodejs:
generate-package-json: true
generate-readme-md: true
```
+
+These settings apply only when `--nodejs --tag=release_5_0_preview.2` is specified on the command line.
+Please also specify `--node-sdks-folder=`.
+
+``` yaml $(tag) == 'release_5_0_preview.2' && $(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 6be17bcb15d8..e3763b333423 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md
@@ -27,3 +27,8 @@ output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-k
namespace: azure.cognitiveservices.knowledge.qnamaker.preview
output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-knowledge-qnamaker/azure/cognitiveservices/knowledge/qnamaker/preview/
```
+
+``` yaml $(tag) == 'release_5_0_preview.2'
+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 cbcfc7220bdd..00c37293996f 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.ruby.md
@@ -14,6 +14,7 @@ azure-arm: true
batch:
- tag: release_4_0
- tag: release_5_0_preview.1
+ - tag: release_5_0_preview.2
```
### Tag: release_4_0 and ruby
@@ -35,4 +36,14 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'release_5_0_preview.2' && $(ruby)
+namespace: "Azure::CognitiveServices::Qnamaker::V5_0_preview_2"
+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 14a2b6368a71..3e59d378cb61 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.typescript.md
@@ -21,3 +21,14 @@ typescript:
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.2' && $(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/SpellCheck/readme.go.md b/specification/cognitiveservices/data-plane/SpellCheck/readme.go.md
index 5aa5885a59fe..b5fa3e327ff5 100644
--- a/specification/cognitiveservices/data-plane/SpellCheck/readme.go.md
+++ b/specification/cognitiveservices/data-plane/SpellCheck/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: spellcheck
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.4/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.4/TextAnalytics.json
index 3f32ac31c0a2..5ed41b4f1b6c 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.4/TextAnalytics.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.4/TextAnalytics.json
@@ -1871,8 +1871,8 @@
"description": "Describes any conditionality on the entity.",
"type": "string",
"enum": [
- "Hypothetical",
- "Conditional"
+ "hypothetical",
+ "conditional"
],
"x-ms-enum": {
"name": "Conditionality",
@@ -1883,11 +1883,11 @@
"description": "Describes the entities certainty and polarity.",
"type": "string",
"enum": [
- "Positive",
- "PositivePossible",
- "NeutralPossible",
- "NegativePossible",
- "Negative"
+ "positive",
+ "positivePossible",
+ "neutralPossible",
+ "negativePossible",
+ "negative"
],
"x-ms-enum": {
"name": "Certainty",
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.4/examples/SuccessfulHealthStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.4/examples/SuccessfulHealthStatusRequest.json
index 454fbf9efa35..1bb24e508072 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.4/examples/SuccessfulHealthStatusRequest.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.4/examples/SuccessfulHealthStatusRequest.json
@@ -32,7 +32,7 @@
"category": "MedicationName",
"confidenceScore": 1.0,
"assertion": {
- "certainty": "Positive"
+ "certainty": "positive"
},
"links": [
{
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.go.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.go.md
index d7f271eeeebe..e93242e9705c 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.go.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: textanalytics
clear-output-folder: true
```
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 754fc38b80a1..a5bc7cadf0d3 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
@@ -12,7 +12,7 @@
],
"summary": "Submit a document translation request to the Document Translation service",
"description": "Use this API to submit a bulk (batch) translation request to the Document Translation service.\r\nEach request can contain multiple documents and must contain a source and destination container for each document.\r\n \r\nThe prefix and suffix filter (if supplied) are used to filter folders. The prefix is applied to the subpath after the container name.\r\n \r\nGlossaries / Translation memory can be included in the request and are applied by the service when the document is translated.\r\n \r\nIf the glossary is invalid or unreachable during translation, an error is indicated in the document status.\r\nIf a file with the same name already exists at the destination, it will be overwritten. The targetUrl for each target language must be unique.",
- "operationId": "DocumentTranslation_SubmitBatchRequest",
+ "operationId": "DocumentTranslation_StartTranslation",
"consumes": [
"application/json",
"text/json",
@@ -23,11 +23,12 @@
],
"parameters": [
{
+ "required": true,
"in": "body",
"name": "body",
"description": "request details",
"schema": {
- "$ref": "#/definitions/BatchSubmissionRequest"
+ "$ref": "#/definitions/StartTranslationDetails"
}
}
],
@@ -45,7 +46,7 @@
"400": {
"description": "Invalid request. Check input parameters",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}"
@@ -55,7 +56,7 @@
"401": {
"description": "Unauthorized. Please check your credentials",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
@@ -65,7 +66,7 @@
"429": {
"description": "Too many requests",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
@@ -75,7 +76,7 @@
"500": {
"description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
@@ -85,7 +86,7 @@
"503": {
"description": "Server temporary unavailable",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
@@ -108,8 +109,8 @@
"Document Translation"
],
"summary": "Returns a list of batch requests submitted and the status for each request",
- "description": "Returns a list of batch requests submitted and the status for each request.\r\nThis list only contains batch requests submitted by the user (based on the subscription). The status for each request is sorted by id.\r\n \r\nIf the number of requests exceeds our paging limit, server-side paging is used. Paginated responses indicate a partial result and include a continuation token in the response.\r\nThe absence of a continuation token means that no additional pages are available.\r\n \r\n$top and $skip query parameters can be used to specify a number of results to return and an offset for the collection.\r\n \r\nThe server honors the values specified by the client. However, clients must be prepared to handle responses that contain a different page size or contain a continuation token.\r\n \r\nWhen both $top and $skip are included, the server should first apply $skip and then $top on the collection.\r\nNote: If the server can't honor $top and/or $skip, the server must return an error to the client informing about it instead of just ignoring the query options.\r\nThis reduces the risk of the client making assumptions about the data returned.",
- "operationId": "DocumentTranslation_GetOperations",
+ "description": "Returns a list of batch requests submitted and the status for each request.\r\nThis list only contains batch requests submitted by the user (based on the resource).\r\n \r\nIf the number of requests exceeds our paging limit, server-side paging is used. Paginated responses indicate a partial result and include a continuation token in the response.\r\nThe absence of a continuation token means that no additional pages are available.\r\n \r\n$top, $skip and $maxpagesize query parameters can be used to specify a number of results to return and an offset for the collection.\r\n \r\n$top indicates the total number of records the user wants to be returned across all pages.\r\n$skip indicates the number of records to skip from the list of batches based on the sorting method specified. By default, we sort by descending start time.\r\n$maxpagesize is the maximum items returned in a page. If more items are requested via $top (or $top is not specified and there are more items to be returned), @nextLink will contain the link to the next page.\r\n \r\n$orderBy query parameter can be used to sort the returned list (ex \"$orderBy=createdDateTimeUtc asc\" or \"$orderBy=createdDateTimeUtc desc\").\r\nThe default sorting is descending by createdDateTimeUtc.\r\nSome query parameters can be used to filter the returned list (ex: \"status=Succeeded,Cancelled\") will only return succeeded and cancelled operations.\r\ncreatedDateTimeUtcStart and createdDateTimeUtcEnd can be used combined or separately to specify a range of datetime to filter the returned list by.\r\nThe supported filtering query parameters are (status, ids, createdDateTimeUtcStart, createdDateTimeUtcEnd).\r\n \r\nThe server honors the values specified by the client. However, clients must be prepared to handle responses that contain a different page size or contain a continuation token.\r\n \r\nWhen both $top and $skip are included, the server should first apply $skip and then $top on the collection.\r\nNote: If the server can't honor $top and/or $skip, the server must return an error to the client informing about it instead of just ignoring the query options.\r\nThis reduces the risk of the client making assumptions about the data returned.",
+ "operationId": "DocumentTranslation_GetTranslationsStatus",
"produces": [
"application/json"
],
@@ -117,29 +118,83 @@
{
"in": "query",
"name": "$top",
- "description": "Take the $top entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first",
+ "description": "$top indicates the total number of records the user wants to be returned across all pages.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\n \r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options.",
"type": "integer",
"format": "int32",
- "default": 50,
- "maximum": 100,
- "minimum": 1
+ "maximum": 2147483647,
+ "minimum": 0
},
{
"in": "query",
"name": "$skip",
- "description": "Skip the $skip entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first",
+ "description": "$skip indicates the number of records to skip from the list of records held by the server based on the sorting method specified. By default, we sort by descending start time.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\n \r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options.",
"type": "integer",
"format": "int32",
"default": 0,
"maximum": 2147483647,
"minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "$maxpagesize",
+ "description": "$maxpagesize is the maximum items returned in a page. If more items are requested via $top (or $top is not specified and there are more items to be returned), @nextLink will contain the link to the next page.\r\n \r\nClients MAY request server-driven paging with a specific page size by specifying a $maxpagesize preference. The server SHOULD honor this preference if the specified page size is smaller than the server's default page size.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 100,
+ "minimum": 1
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids to use in filtering",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "maxLength": 25
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses to use in filtering",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxLength": 5
+ },
+ {
+ "in": "query",
+ "name": "createdDateTimeUtcStart",
+ "description": "the start datetime to get items after",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "createdDateTimeUtcEnd",
+ "description": "the end datetime to get items before",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$orderBy",
+ "description": "the sorting query for the collection (ex: 'CreatedDateTimeUtc asc', 'CreatedDateTimeUtc desc')",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxLength": 1
}
],
"responses": {
"200": {
"description": "Successful request and returns the status of the all the operations",
"schema": {
- "$ref": "#/definitions/BatchStatusResponse"
+ "$ref": "#/definitions/TranslationsStatus"
},
"headers": {
"Retry-After": {
@@ -157,7 +212,7 @@
"400": {
"description": "Invalid request. Check input parameters",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}"
@@ -167,7 +222,7 @@
"401": {
"description": "Unauthorized. Please check your credentials",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
@@ -177,7 +232,7 @@
"429": {
"description": "Too many requests",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
@@ -187,7 +242,7 @@
"500": {
"description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
@@ -197,7 +252,7 @@
"503": {
"description": "Server temporary unavailable",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
@@ -248,7 +303,7 @@
"200": {
"description": "Successful request and it is accepted by the service. The operation details are returned",
"schema": {
- "$ref": "#/definitions/DocumentStatusDetail"
+ "$ref": "#/definitions/DocumentStatus"
},
"headers": {
"Retry-After": {
@@ -266,7 +321,7 @@
"401": {
"description": "Unauthorized. Please check your credentials",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
@@ -276,7 +331,7 @@
"404": {
"description": "Resource is not found",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
@@ -286,7 +341,7 @@
"429": {
"description": "Too many requests",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
@@ -296,7 +351,7 @@
"500": {
"description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
@@ -306,7 +361,7 @@
"503": {
"description": "Server temporary unavailable",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
@@ -328,7 +383,7 @@
],
"summary": "Returns the status for a document translation request",
"description": "Returns the status for a document translation request.\r\nThe status includes the overall request status, as well as the status for documents that are being translated as part of that request.",
- "operationId": "DocumentTranslation_GetOperationStatus",
+ "operationId": "DocumentTranslation_GetTranslationStatus",
"produces": [
"application/json"
],
@@ -346,7 +401,7 @@
"200": {
"description": "Successful request and returns the status of the batch translation operation",
"schema": {
- "$ref": "#/definitions/BatchStatusDetail"
+ "$ref": "#/definitions/TranslationStatus"
},
"headers": {
"Retry-After": {
@@ -364,7 +419,7 @@
"401": {
"description": "Unauthorized. Please check your credentials",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
@@ -374,7 +429,7 @@
"404": {
"description": "Resource is not found",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
@@ -384,7 +439,7 @@
"429": {
"description": "Too many requests",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
@@ -394,7 +449,7 @@
"500": {
"description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
@@ -404,7 +459,7 @@
"503": {
"description": "Server temporary unavailable",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
@@ -422,9 +477,9 @@
"tags": [
"Document Translation"
],
- "summary": "Cancel a currently processing or queued operation",
- "description": "Cancel a currently processing or queued operation.\r\nCancel a currently processing or queued operation.\r\nAn operation will not be cancelled if it is already completed or failed or cancelling. A bad request will be returned.\r\nAll documents that have completed translation will not be cancelled and will be charged.\r\nAll pending documents will be cancelled if possible.",
- "operationId": "DocumentTranslation_CancelOperation",
+ "summary": "Cancel a currently processing or queued translation",
+ "description": "Cancel a currently processing or queued translation.\r\nCancel a currently processing or queued translation.\r\nA translation will not be cancelled if it is already completed or failed or cancelling. A bad request will be returned.\r\nAll documents that have completed translation will not be cancelled and will be charged.\r\nAll pending documents will be cancelled if possible.",
+ "operationId": "DocumentTranslation_CancelTranslation",
"produces": [
"application/json"
],
@@ -442,13 +497,13 @@
"200": {
"description": "Cancel request has been submitted",
"schema": {
- "$ref": "#/definitions/BatchStatusDetail"
+ "$ref": "#/definitions/TranslationStatus"
}
},
"401": {
"description": "Unauthorized. Please check your credentials",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
@@ -458,7 +513,7 @@
"404": {
"description": "Resource is not found",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
@@ -468,7 +523,7 @@
"429": {
"description": "Too many requests",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
@@ -478,7 +533,7 @@
"500": {
"description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
@@ -488,7 +543,7 @@
"503": {
"description": "Server temporary unavailable",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
@@ -509,8 +564,8 @@
"Document Translation"
],
"summary": "Returns the status for all documents in a batch document translation request",
- "description": "Returns the status for all documents in a batch document translation request.\r\n \r\nThe documents included in the response are sorted by document Id in descending order. If the number of documents in the response exceeds our paging limit, server-side paging is used.\r\nPaginated responses indicate a partial result and include a continuation token in the response. The absence of a continuation token means that no additional pages are available.\r\n \r\n$top and $skip query parameters can be used to specify a number of results to return and an offset for the collection.\r\nThe server honors the values specified by the client. However, clients must be prepared to handle responses that contain a different page size or contain a continuation token.\r\n \r\nWhen both $top and $skip are included, the server should first apply $skip and then $top on the collection.\r\nNote: If the server can't honor $top and/or $skip, the server must return an error to the client informing about it instead of just ignoring the query options.\r\nThis reduces the risk of the client making assumptions about the data returned.",
- "operationId": "DocumentTranslation_GetOperationDocumentsStatus",
+ "description": "Returns the status for all documents in a batch document translation request.\r\n \r\nIf the number of documents in the response exceeds our paging limit, server-side paging is used.\r\nPaginated responses indicate a partial result and include a continuation token in the response. The absence of a continuation token means that no additional pages are available.\r\n \r\n$top, $skip and $maxpagesize query parameters can be used to specify a number of results to return and an offset for the collection.\r\n \r\n$top indicates the total number of records the user wants to be returned across all pages.\r\n$skip indicates the number of records to skip from the list of document status held by the server based on the sorting method specified. By default, we sort by descending start time.\r\n$maxpagesize is the maximum items returned in a page. If more items are requested via $top (or $top is not specified and there are more items to be returned), @nextLink will contain the link to the next page.\r\n \r\n$orderBy query parameter can be used to sort the returned list (ex \"$orderBy=createdDateTimeUtc asc\" or \"$orderBy=createdDateTimeUtc desc\").\r\nThe default sorting is descending by createdDateTimeUtc.\r\nSome query parameters can be used to filter the returned list (ex: \"status=Succeeded,Cancelled\") will only return succeeded and cancelled documents.\r\ncreatedDateTimeUtcStart and createdDateTimeUtcEnd can be used combined or separately to specify a range of datetime to filter the returned list by.\r\nThe supported filtering query parameters are (status, ids, createdDateTimeUtcStart, createdDateTimeUtcEnd).\r\n \r\nWhen both $top and $skip are included, the server should first apply $skip and then $top on the collection.\r\nNote: If the server can't honor $top and/or $skip, the server must return an error to the client informing about it instead of just ignoring the query options.\r\nThis reduces the risk of the client making assumptions about the data returned.",
+ "operationId": "DocumentTranslation_GetDocumentsStatus",
"produces": [
"application/json"
],
@@ -526,29 +581,83 @@
{
"in": "query",
"name": "$top",
- "description": "Take the $top entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first",
+ "description": "$top indicates the total number of records the user wants to be returned across all pages.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\n \r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options.",
"type": "integer",
"format": "int32",
- "default": 50,
- "maximum": 100,
- "minimum": 1
+ "maximum": 2147483647,
+ "minimum": 0
},
{
"in": "query",
"name": "$skip",
- "description": "Skip the $skip entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first",
+ "description": "$skip indicates the number of records to skip from the list of records held by the server based on the sorting method specified. By default, we sort by descending start time.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\n \r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options.",
"type": "integer",
"format": "int32",
"default": 0,
"maximum": 2147483647,
"minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "$maxpagesize",
+ "description": "$maxpagesize is the maximum items returned in a page. If more items are requested via $top (or $top is not specified and there are more items to be returned), @nextLink will contain the link to the next page.\r\n \r\nClients MAY request server-driven paging with a specific page size by specifying a $maxpagesize preference. The server SHOULD honor this preference if the specified page size is smaller than the server's default page size.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 100,
+ "minimum": 1
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids to use in filtering",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "maxLength": 25
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses to use in filtering",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxLength": 5
+ },
+ {
+ "in": "query",
+ "name": "createdDateTimeUtcStart",
+ "description": "the start datetime to get items after",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "createdDateTimeUtcEnd",
+ "description": "the end datetime to get items before",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$orderBy",
+ "description": "the sorting query for the collection (ex: 'CreatedDateTimeUtc asc', 'CreatedDateTimeUtc desc')",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxLength": 1
}
],
"responses": {
"200": {
"description": "Successful request and returns the status of the documents",
"schema": {
- "$ref": "#/definitions/DocumentStatusResponse"
+ "$ref": "#/definitions/DocumentsStatus"
},
"headers": {
"Retry-After": {
@@ -566,7 +675,7 @@
"400": {
"description": "Invalid request. Check input parameters",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}"
@@ -576,7 +685,7 @@
"401": {
"description": "Unauthorized. Please check your credentials",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
@@ -586,7 +695,7 @@
"404": {
"description": "Resource is not found",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
@@ -596,7 +705,7 @@
"429": {
"description": "Too many requests",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
@@ -606,7 +715,7 @@
"500": {
"description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
@@ -616,7 +725,7 @@
"503": {
"description": "Server temporary unavailable",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
@@ -641,7 +750,7 @@
],
"summary": "Returns a list of supported document formats",
"description": "The list of supported document formats supported by the Document Translation service.\r\nThe list includes the common file extension, as well as the content-type if using the upload API.",
- "operationId": "DocumentTranslation_GetDocumentFormats",
+ "operationId": "DocumentTranslation_GetSupportedDocumentFormats",
"produces": [
"application/json"
],
@@ -649,13 +758,20 @@
"200": {
"description": "Returns the list of supported document file formats",
"schema": {
- "$ref": "#/definitions/FileFormatListResult"
+ "$ref": "#/definitions/SupportedFileFormats"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ }
}
},
"429": {
"description": "Too many requests",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
@@ -665,7 +781,7 @@
"500": {
"description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
@@ -675,7 +791,7 @@
"503": {
"description": "Server temporary unavailable",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
@@ -697,7 +813,7 @@
],
"summary": "Returns the list of supported glossary formats",
"description": "The list of supported glossary formats supported by the Document Translation service.\r\nThe list includes the common file extension used.",
- "operationId": "DocumentTranslation_GetGlossaryFormats",
+ "operationId": "DocumentTranslation_GetSupportedGlossaryFormats",
"produces": [
"application/json"
],
@@ -705,13 +821,20 @@
"200": {
"description": "Returns the list of supported glossary file formats",
"schema": {
- "$ref": "#/definitions/FileFormatListResult"
+ "$ref": "#/definitions/SupportedFileFormats"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ }
}
},
"429": {
"description": "Too many requests",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
@@ -721,7 +844,7 @@
"500": {
"description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
@@ -731,7 +854,7 @@
"503": {
"description": "Server temporary unavailable",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
@@ -753,7 +876,7 @@
],
"summary": "Returns a list of supported storage sources",
"description": "Returns a list of storage sources/options supported by the Document Translation service.",
- "operationId": "DocumentTranslation_GetDocumentStorageSource",
+ "operationId": "DocumentTranslation_GetSupportedStorageSources",
"produces": [
"application/json"
],
@@ -761,13 +884,20 @@
"200": {
"description": "Successful request and returns the list of storage sources",
"schema": {
- "$ref": "#/definitions/StorageSourceListResult"
+ "$ref": "#/definitions/SupportedStorageSources"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ }
}
},
"429": {
"description": "Too many requests",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
@@ -777,7 +907,7 @@
"500": {
"description": "Internal Server Error",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
@@ -787,7 +917,7 @@
"503": {
"description": "Server temporary unavailable",
"schema": {
- "$ref": "#/definitions/ErrorResponseV2"
+ "$ref": "#/definitions/TranslationErrorResponse"
},
"examples": {
"application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
@@ -863,6 +993,7 @@
"Glossary": {
"description": "Glossary / translation memory for the request",
"required": [
+ "format",
"glossaryUrl"
],
"type": "object",
@@ -878,7 +1009,7 @@
"example": "XLIFF"
},
"version": {
- "description": "Version",
+ "description": "Optional Version. If not specified, default is used.",
"type": "string",
"example": "2.0"
},
@@ -965,8 +1096,8 @@
}
}
},
- "BatchSubmissionRequest": {
- "description": "Job submission batch request",
+ "StartTranslationDetails": {
+ "description": "Translation job submission batch request",
"required": [
"inputs"
],
@@ -1021,7 +1152,7 @@
]
}
},
- "ErrorCodeV2": {
+ "TranslationErrorCode": {
"description": "Enums containing high level error codes.",
"enum": [
"InvalidRequest",
@@ -1034,7 +1165,7 @@
],
"type": "string",
"x-ms-enum": {
- "name": "ErrorCodeV2",
+ "name": "TranslationErrorCode",
"modelAsString": true,
"values": [
{
@@ -1061,7 +1192,7 @@
]
}
},
- "InnerErrorV2": {
+ "InnerTranslationError": {
"description": "New Inner Error format which conforms to Cognitive Services API Guidelines which is available at https://microsoft.sharepoint.com/%3Aw%3A/t/CognitiveServicesPMO/EUoytcrjuJdKpeOKIK_QRC8BPtUYQpKBi8JsWyeDMRsWlQ?e=CPq8ow.\r\nThis contains required properties ErrorCode, message and optional properties target, details(key value pair), inner error(this can be nested).",
"required": [
"code",
@@ -1083,19 +1214,20 @@
"readOnly": true
},
"innerError": {
- "$ref": "#/definitions/InnerErrorV2"
+ "$ref": "#/definitions/InnerTranslationError"
}
}
},
- "ErrorV2": {
+ "TranslationError": {
"description": "This contains an outer error with error code, message, details, target and an inner error with more descriptive details.",
"required": [
+ "code",
"message"
],
"type": "object",
"properties": {
"code": {
- "$ref": "#/definitions/ErrorCodeV2"
+ "$ref": "#/definitions/TranslationErrorCode"
},
"message": {
"description": "Gets high level error message.",
@@ -1107,7 +1239,7 @@
"readOnly": true
},
"innerError": {
- "$ref": "#/definitions/InnerErrorV2"
+ "$ref": "#/definitions/InnerTranslationError"
}
}
},
@@ -1166,8 +1298,8 @@
}
}
},
- "BatchStatusDetail": {
- "description": "Job status response",
+ "TranslationStatus": {
+ "description": "Translation job status response",
"required": [
"createdDateTimeUtc",
"id",
@@ -1199,15 +1331,15 @@
"$ref": "#/definitions/Status"
},
"error": {
- "$ref": "#/definitions/ErrorV2"
+ "$ref": "#/definitions/TranslationError"
},
"summary": {
"$ref": "#/definitions/StatusSummary"
}
}
},
- "BatchStatusResponse": {
- "description": "Document Status Response",
+ "TranslationsStatus": {
+ "description": "Translation job Status Response",
"required": [
"value"
],
@@ -1217,7 +1349,7 @@
"description": "The summary status of individual operation",
"type": "array",
"items": {
- "$ref": "#/definitions/BatchStatusDetail"
+ "$ref": "#/definitions/TranslationStatus"
}
},
"@nextLink": {
@@ -1227,13 +1359,14 @@
}
}
},
- "DocumentStatusDetail": {
+ "DocumentStatus": {
+ "description": "Document Status Response",
"required": [
"createdDateTimeUtc",
"id",
"lastActionDateTimeUtc",
- "path",
"progress",
+ "sourcePath",
"status",
"to"
],
@@ -1244,6 +1377,11 @@
"type": "string",
"example": "https://myblob.blob.core.windows.net/mycontainer/fr/mydoc.txt"
},
+ "sourcePath": {
+ "description": "Location of the source document",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/mycontainer/fr/mydoc.txt"
+ },
"createdDateTimeUtc": {
"format": "date-time",
"description": "Operation created date time",
@@ -1264,7 +1402,7 @@
"type": "string"
},
"error": {
- "$ref": "#/definitions/ErrorV2"
+ "$ref": "#/definitions/TranslationError"
},
"progress": {
"format": "float",
@@ -1287,8 +1425,8 @@
}
}
},
- "DocumentStatusResponse": {
- "description": "Document Status Response",
+ "DocumentsStatus": {
+ "description": "Documents Status Response",
"required": [
"value"
],
@@ -1298,7 +1436,7 @@
"description": "The detail status of individual documents",
"type": "array",
"items": {
- "$ref": "#/definitions/DocumentStatusDetail"
+ "$ref": "#/definitions/DocumentStatus"
}
},
"@nextLink": {
@@ -1309,6 +1447,11 @@
}
},
"FileFormat": {
+ "required": [
+ "contentTypes",
+ "fileExtensions",
+ "format"
+ ],
"type": "object",
"properties": {
"format": {
@@ -1330,6 +1473,10 @@
"type": "string"
}
},
+ "defaultVersion": {
+ "description": "Default version if none is specified",
+ "type": "string"
+ },
"versions": {
"description": "Supported Version",
"type": "array",
@@ -1339,7 +1486,7 @@
}
}
},
- "FileFormatListResult": {
+ "SupportedFileFormats": {
"description": "Base type for List return in our api",
"required": [
"value"
@@ -1355,7 +1502,7 @@
}
}
},
- "StorageSourceListResult": {
+ "SupportedStorageSources": {
"description": "Base type for List return in our api",
"required": [
"value"
@@ -1371,12 +1518,12 @@
}
}
},
- "ErrorResponseV2": {
+ "TranslationErrorResponse": {
"description": "Contains unified error information used for HTTP responses across any Cognitive Service. Instances\r\ncan be created either through Microsoft.CloudAI.Containers.HttpStatusExceptionV2 or by returning it directly from\r\na controller.",
"type": "object",
"properties": {
"error": {
- "$ref": "#/definitions/ErrorV2"
+ "$ref": "#/definitions/TranslationError"
}
}
}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json
index 7108552c493f..aed28e872002 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json
@@ -5,7 +5,7 @@
"resourceGroupName": "TestResourceGroup",
"endpoint": "{endpoint}",
"Ocp-Apim-Subscription-Key": "{API key}",
- "batchRequest": {
+ "body": {
"inputs": [
{
"source": {
@@ -25,7 +25,8 @@
"glossaries": [
{
"glossaryUrl": "https://myblob.blob.core.windows.net/myglossary/en_fr_glossary.xlf",
- "storageSource": "AzureBlob"
+ "storageSource": "AzureBlob",
+ "format": "XLIFF"
}
],
"storageSource": "AzureBlob"
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json
index f5f45731270f..76c2ce7ddd20 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json
@@ -86,6 +86,7 @@
},
"body": {
"path": "https://myblob.blob.core.windows.net/destinationContainer/fr/mydoc.txt",
+ "sourcePath": "https://myblob.blob.core.windows.net/sourceContainer/fr/mydoc.txt",
"createdDateTimeUtc": "2020-03-26T00:00:00Z",
"lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
"status": "Running",
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json
index c92c6b7ecd02..c46aac3ed75a 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json
@@ -6,8 +6,19 @@
"endpoint": "{endpoint}",
"Ocp-Apim-Subscription-Key": "{API key}",
"id": "727BF148-F327-47A0-9481-ABAE6362F11E",
- "$top": 5,
- "$skip": 10
+ "$top": 2,
+ "$skip": 0,
+ "$maxpagesize": 1,
+ "$orderBy": "CreatedDateTimeUtc asc",
+ "createdDateTimeUtcStart": "2021-03-23T07:03:38.0136316Z",
+ "createdDateTimeUtcEnd": "2021-03-25T07:03:38.0136316Z",
+ "statuses": [
+ "Succeeded"
+ ],
+ "ids": [
+ "273622bd-835c-4946-9798-fd8f19f6bbf2",
+ "511b6a66-a6f8-4640-83e1-48c325e9fa29"
+ ]
},
"responses": {
"401": {
@@ -89,8 +100,9 @@
"value": [
{
"path": "https://myblob.blob.core.windows.net/destinationContainer/fr/mydoc.txt",
- "createdDateTimeUtc": "2020-03-26T00:00:00Z",
- "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "sourcePath": "https://myblob.blob.core.windows.net/sourceContainer/fr/mydoc.txt",
+ "createdDateTimeUtc": "2021-03-23T07:03:39.013631Z",
+ "lastActionDateTimeUtc": "2021-03-23T07:03:41.012452Z",
"status": "Running",
"to": "fr",
"progress": 0.1,
@@ -98,7 +110,7 @@
"characterCharged": 0
}
],
- "@nextLink": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55/documents?$top=5&$skip=15"
+ "@nextLink": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55/documents?$top=1&$skip=1&$maxpagesize=1&$orderBy=CreatedDateTimeUtc%20asc&createdDateTimeUtcStart=2021-03-23T00:03:38.0136316Z&createdDateTimeUtcEnd=2021-03-25T00:03:38.0136316&statuses=Succeeded&ids=273622BD-835C-4946-9798-FD8F19F6BBF2,511B6A66-A6F8-4640-83E1-48C325E9FA29"
}
},
"400": {
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json
index fe48785fe1ae..75b787a30523 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json
@@ -48,6 +48,7 @@
},
"200": {
"headers": {
+ "retry-after": "30",
"ETag": "686897696a7c876b7e"
},
"body": {
@@ -59,8 +60,7 @@
],
"contentTypes": [
"text/plain"
- ],
- "versions": []
+ ]
},
{
"format": "PortableDocumentFormat",
@@ -69,8 +69,16 @@
],
"contentTypes": [
"application/pdf"
+ ]
+ },
+ {
+ "format": "OpenXmlWord",
+ "fileExtensions": [
+ ".docx"
],
- "versions": []
+ "contentTypes": [
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+ ]
},
{
"format": "OpenXmlPresentation",
@@ -79,8 +87,7 @@
],
"contentTypes": [
"application/vnd.openxmlformats-officedocument.presentationml.presentation"
- ],
- "versions": []
+ ]
},
{
"format": "OpenXmlSpreadsheet",
@@ -89,38 +96,17 @@
],
"contentTypes": [
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
- ],
- "versions": []
- },
- {
- "format": "OutlookMailMessage",
- "fileExtensions": [
- ".msg"
- ],
- "contentTypes": [
- "application/vnd.ms-outlook"
- ],
- "versions": []
+ ]
},
{
"format": "HtmlFile",
"fileExtensions": [
- ".html"
+ ".html",
+ ".htm"
],
"contentTypes": [
"text/html"
- ],
- "versions": []
- },
- {
- "format": "OpenXmlWord",
- "fileExtensions": [
- ".docx"
- ],
- "contentTypes": [
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
- ],
- "versions": []
+ ]
}
]
}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json
index ec73e440dbb8..0b638db5c8ac 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json
@@ -48,6 +48,7 @@
},
"200": {
"headers": {
+ "retry-after": "30",
"ETag": "686897696a7c876b7e"
},
"body": {
@@ -60,6 +61,7 @@
"contentTypes": [
"application/xliff+xml"
],
+ "defaultVersion": "1.2",
"versions": [
"1.0",
"1.1",
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json
index be97db209ed7..0a03ff0e78f4 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json
@@ -4,7 +4,19 @@
"subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
"resourceGroupName": "TestResourceGroup",
"endpoint": "{endpoint}",
- "Ocp-Apim-Subscription-Key": "{API key}"
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "$top": 1,
+ "$skip": 0,
+ "$maxpagesize": 10,
+ "$orderBy": "CreatedDateTime asc",
+ "createdDateTimeUtcStart": "2021-03-23T07:03:38.0136316Z",
+ "createdDateTimeUtcEnd": "2021-03-25T07:03:38.0136316Z",
+ "statuses": [
+ "Succeeded"
+ ],
+ "ids": [
+ "273622bd-835c-4946-9798-fd8f19f6bbf2"
+ ]
},
"responses": {
"401": {
@@ -71,9 +83,9 @@
"body": {
"value": [
{
- "id": "727bf148-f327-47a0-9481-abae6362f11e",
- "createdDateTimeUtc": "2020-03-26T00:00:00Z",
- "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "id": "273622bd-835c-4946-9798-fd8f19f6bbf2",
+ "createdDateTimeUtc": "2021-03-23T07:03:30.013631Z",
+ "lastActionDateTimeUtc": "2021-03-26T01:00:00Z",
"status": "Succeeded",
"summary": {
"total": 10,
@@ -82,7 +94,7 @@
"inProgress": 0,
"notYetStarted": 0,
"cancelled": 0,
- "totalCharacterCharged": 0
+ "totalCharacterCharged": 1000
}
}
]
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json
index 3a3064ae73c1..1180d718fd99 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json
@@ -48,6 +48,7 @@
},
"200": {
"headers": {
+ "retry-after": "30",
"ETag": "686897696a7c876b7e"
},
"body": {
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/readme.go.md b/specification/cognitiveservices/data-plane/TranslatorText/readme.go.md
index 22c2a7d8b8de..aa26e5b80025 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/readme.go.md
+++ b/specification/cognitiveservices/data-plane/TranslatorText/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: translatortext
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/readme.md b/specification/cognitiveservices/data-plane/TranslatorText/readme.md
index 707bf7b6e9af..7d14eb5dd61d 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/readme.md
+++ b/specification/cognitiveservices/data-plane/TranslatorText/readme.md
@@ -21,7 +21,12 @@ tag: release_1_0_preview.1
add-credentials: true
openapi-type: data-plane
```
+``` yaml
+tag: release_1_0
+add-credentials: true
+openapi-type: data-plane
+```
# Releases
### Preview 1.0
@@ -30,6 +35,12 @@ This setting is for batch document translator and only applied when `--tag=relea
input-file: preview/v1.0-preview.1/TranslatorBatch.json
```
+### 1.0 Batch API
+This setting is for batch document translator and only applied when `--tag=release_1_0` is specified on the command line.
+``` yaml $(tag) == 'release_1_0'
+input-file: stable/v1.0/TranslatorBatch.json
+```
+
### Release 3.0
These settings apply only when `--tag=release_3_0` is specified on the command line.
@@ -106,6 +117,14 @@ These settings apply only when `--tag=release_1_0_preview.1 --nodejs` is specifi
package-version: 1.0.1
```
+### Tag: release_1_0 and nodejs
+
+These settings apply only when `--tag=release_1_0 --nodejs` is specified on the command line.
+
+``` yaml $(tag) == 'release_1_0' && $(nodejs)
+ package-version: 1.0
+```
+
### Tag: release_3_0 and go
These settings apply only when `--tag=release_3_0 --nodejs` is specified on the command line.
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/TranslatorBatch.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/TranslatorBatch.json
new file mode 100644
index 000000000000..c2e8963456e5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/TranslatorBatch.json
@@ -0,0 +1,1559 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Batch Document Translation Client",
+ "version": "v1.0"
+ },
+ "paths": {
+ "/batches": {
+ "post": {
+ "tags": [
+ "Document Translation"
+ ],
+ "summary": "Submit a document translation request to the Document Translation service",
+ "description": "Use this API to submit a bulk (batch) translation request to the Document Translation service.\r\nEach request can contain multiple documents and must contain a source and destination container for each document.\r\n \r\nThe prefix and suffix filter (if supplied) are used to filter folders. The prefix is applied to the subpath after the container name.\r\n \r\nGlossaries / Translation memory can be included in the request and are applied by the service when the document is translated.\r\n \r\nIf the glossary is invalid or unreachable during translation, an error is indicated in the document status.\r\nIf a file with the same name already exists at the destination, it will be overwritten. The targetUrl for each target language must be unique.",
+ "operationId": "DocumentTranslation_StartTranslation",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/*+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "required": true,
+ "in": "body",
+ "name": "body",
+ "description": "request details",
+ "schema": {
+ "$ref": "#/definitions/StartTranslationDetails"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Successful request and the batch request is created by the service. The header Operation-Location will indicate a status url with the operation id.",
+ "headers": {
+ "Operation-Location": {
+ "description": "Location of batch the operation",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request. Check input parameters",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Batch Submit": {
+ "$ref": "./examples/batch.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "get": {
+ "tags": [
+ "Document Translation"
+ ],
+ "summary": "Returns a list of batch requests submitted and the status for each request",
+ "description": "Returns a list of batch requests submitted and the status for each request.\r\nThis list only contains batch requests submitted by the user (based on the resource).\r\n \r\nIf the number of requests exceeds our paging limit, server-side paging is used. Paginated responses indicate a partial result and include a continuation token in the response.\r\nThe absence of a continuation token means that no additional pages are available.\r\n \r\n$top, $skip and $maxpagesize query parameters can be used to specify a number of results to return and an offset for the collection.\r\n \r\n$top indicates the total number of records the user wants to be returned across all pages.\r\n$skip indicates the number of records to skip from the list of batches based on the sorting method specified. By default, we sort by descending start time.\r\n$maxpagesize is the maximum items returned in a page. If more items are requested via $top (or $top is not specified and there are more items to be returned), @nextLink will contain the link to the next page.\r\n \r\n$orderBy query parameter can be used to sort the returned list (ex \"$orderBy=createdDateTimeUtc asc\" or \"$orderBy=createdDateTimeUtc desc\").\r\nThe default sorting is descending by createdDateTimeUtc.\r\nSome query parameters can be used to filter the returned list (ex: \"status=Succeeded,Cancelled\") will only return succeeded and cancelled operations.\r\ncreatedDateTimeUtcStart and createdDateTimeUtcEnd can be used combined or separately to specify a range of datetime to filter the returned list by.\r\nThe supported filtering query parameters are (status, ids, createdDateTimeUtcStart, createdDateTimeUtcEnd).\r\n \r\nThe server honors the values specified by the client. However, clients must be prepared to handle responses that contain a different page size or contain a continuation token.\r\n \r\nWhen both $top and $skip are included, the server should first apply $skip and then $top on the collection.\r\nNote: If the server can't honor $top and/or $skip, the server must return an error to the client informing about it instead of just ignoring the query options.\r\nThis reduces the risk of the client making assumptions about the data returned.",
+ "operationId": "DocumentTranslation_GetTranslationsStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "$top",
+ "description": "$top indicates the total number of records the user wants to be returned across all pages.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\n \r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options.",
+ "type": "integer",
+ "format": "int32",
+ "maximum": 2147483647,
+ "minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "$skip",
+ "description": "$skip indicates the number of records to skip from the list of records held by the server based on the sorting method specified. By default, we sort by descending start time.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\n \r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options.",
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "maximum": 2147483647,
+ "minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "$maxpagesize",
+ "description": "$maxpagesize is the maximum items returned in a page. If more items are requested via $top (or $top is not specified and there are more items to be returned), @nextLink will contain the link to the next page.\r\n \r\nClients MAY request server-driven paging with a specific page size by specifying a $maxpagesize preference. The server SHOULD honor this preference if the specified page size is smaller than the server's default page size.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 100,
+ "minimum": 1
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids to use in filtering",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "maxLength": 25
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses to use in filtering",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxLength": 5
+ },
+ {
+ "in": "query",
+ "name": "createdDateTimeUtcStart",
+ "description": "the start datetime to get items after",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "createdDateTimeUtcEnd",
+ "description": "the end datetime to get items before",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$orderBy",
+ "description": "the sorting query for the collection (ex: 'CreatedDateTimeUtc asc', 'CreatedDateTimeUtc desc')",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxLength": 1
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and returns the status of the all the operations",
+ "schema": {
+ "$ref": "#/definitions/TranslationsStatus"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "ETag": {
+ "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request. Check input parameters",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get status for batch operations": {
+ "$ref": "./examples/operations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "@nextLink"
+ }
+ }
+ },
+ "/batches/{id}/documents/{documentId}": {
+ "get": {
+ "tags": [
+ "Document Translation"
+ ],
+ "summary": "Returns the status for a specific document",
+ "description": "Returns the translation status for a specific document based on the request Id and document Id.",
+ "operationId": "DocumentTranslation_GetDocumentStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Format - uuid. The batch id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "in": "path",
+ "name": "documentId",
+ "description": "Format - uuid. The document id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and it is accepted by the service. The operation details are returned",
+ "schema": {
+ "$ref": "#/definitions/DocumentStatus"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "ETag": {
+ "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "Resource is not found",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Document Status": {
+ "$ref": "./examples/document.json"
+ }
+ }
+ }
+ },
+ "/batches/{id}": {
+ "get": {
+ "tags": [
+ "Document Translation"
+ ],
+ "summary": "Returns the status for a document translation request",
+ "description": "Returns the status for a document translation request.\r\nThe status includes the overall request status, as well as the status for documents that are being translated as part of that request.",
+ "operationId": "DocumentTranslation_GetTranslationStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Format - uuid. The operation id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and returns the status of the batch translation operation",
+ "schema": {
+ "$ref": "#/definitions/TranslationStatus"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "ETag": {
+ "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "Resource is not found",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Batch Operation Status": {
+ "$ref": "./examples/operation.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Document Translation"
+ ],
+ "summary": "Cancel a currently processing or queued translation",
+ "description": "Cancel a currently processing or queued translation.\r\nCancel a currently processing or queued translation.\r\nA translation will not be cancelled if it is already completed or failed or cancelling. A bad request will be returned.\r\nAll documents that have completed translation will not be cancelled and will be charged.\r\nAll pending documents will be cancelled if possible.",
+ "operationId": "DocumentTranslation_CancelTranslation",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Format - uuid. The operation-id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancel request has been submitted",
+ "schema": {
+ "$ref": "#/definitions/TranslationStatus"
+ }
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "Resource is not found",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Cancel a batch operation example": {
+ "$ref": "./examples/cancel.json"
+ }
+ }
+ }
+ },
+ "/batches/{id}/documents": {
+ "get": {
+ "tags": [
+ "Document Translation"
+ ],
+ "summary": "Returns the status for all documents in a batch document translation request",
+ "description": "Returns the status for all documents in a batch document translation request.\r\n \r\nIf the number of documents in the response exceeds our paging limit, server-side paging is used.\r\nPaginated responses indicate a partial result and include a continuation token in the response. The absence of a continuation token means that no additional pages are available.\r\n \r\n$top, $skip and $maxpagesize query parameters can be used to specify a number of results to return and an offset for the collection.\r\n \r\n$top indicates the total number of records the user wants to be returned across all pages.\r\n$skip indicates the number of records to skip from the list of document status held by the server based on the sorting method specified. By default, we sort by descending start time.\r\n$maxpagesize is the maximum items returned in a page. If more items are requested via $top (or $top is not specified and there are more items to be returned), @nextLink will contain the link to the next page.\r\n \r\n$orderBy query parameter can be used to sort the returned list (ex \"$orderBy=createdDateTimeUtc asc\" or \"$orderBy=createdDateTimeUtc desc\").\r\nThe default sorting is descending by createdDateTimeUtc.\r\nSome query parameters can be used to filter the returned list (ex: \"status=Succeeded,Cancelled\") will only return succeeded and cancelled documents.\r\ncreatedDateTimeUtcStart and createdDateTimeUtcEnd can be used combined or separately to specify a range of datetime to filter the returned list by.\r\nThe supported filtering query parameters are (status, ids, createdDateTimeUtcStart, createdDateTimeUtcEnd).\r\n \r\nWhen both $top and $skip are included, the server should first apply $skip and then $top on the collection.\r\nNote: If the server can't honor $top and/or $skip, the server must return an error to the client informing about it instead of just ignoring the query options.\r\nThis reduces the risk of the client making assumptions about the data returned.",
+ "operationId": "DocumentTranslation_GetDocumentsStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Format - uuid. The operation id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "in": "query",
+ "name": "$top",
+ "description": "$top indicates the total number of records the user wants to be returned across all pages.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\n \r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options.",
+ "type": "integer",
+ "format": "int32",
+ "maximum": 2147483647,
+ "minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "$skip",
+ "description": "$skip indicates the number of records to skip from the list of records held by the server based on the sorting method specified. By default, we sort by descending start time.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\n \r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options.",
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "maximum": 2147483647,
+ "minimum": 0
+ },
+ {
+ "in": "query",
+ "name": "$maxpagesize",
+ "description": "$maxpagesize is the maximum items returned in a page. If more items are requested via $top (or $top is not specified and there are more items to be returned), @nextLink will contain the link to the next page.\r\n \r\nClients MAY request server-driven paging with a specific page size by specifying a $maxpagesize preference. The server SHOULD honor this preference if the specified page size is smaller than the server's default page size.",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 100,
+ "minimum": 1
+ },
+ {
+ "in": "query",
+ "name": "ids",
+ "description": "Ids to use in filtering",
+ "type": "array",
+ "items": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "maxLength": 25
+ },
+ {
+ "in": "query",
+ "name": "statuses",
+ "description": "Statuses to use in filtering",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxLength": 5
+ },
+ {
+ "in": "query",
+ "name": "createdDateTimeUtcStart",
+ "description": "the start datetime to get items after",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "createdDateTimeUtcEnd",
+ "description": "the end datetime to get items before",
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "in": "query",
+ "name": "$orderBy",
+ "description": "the sorting query for the collection (ex: 'CreatedDateTimeUtc asc', 'CreatedDateTimeUtc desc')",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxLength": 1
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and returns the status of the documents",
+ "schema": {
+ "$ref": "#/definitions/DocumentsStatus"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "ETag": {
+ "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request. Check input parameters",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "Resource is not found",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Documents Status for the operation batch id": {
+ "$ref": "./examples/documents.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "@nextLink"
+ }
+ }
+ },
+ "/documents/formats": {
+ "get": {
+ "tags": [
+ "Document Translation"
+ ],
+ "summary": "Returns a list of supported document formats",
+ "description": "The list of supported document formats supported by the Document Translation service.\r\nThe list includes the common file extension, as well as the content-type if using the upload API.",
+ "operationId": "DocumentTranslation_GetSupportedDocumentFormats",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the list of supported document file formats",
+ "schema": {
+ "$ref": "#/definitions/SupportedFileFormats"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Document Formats": {
+ "$ref": "./examples/format.json"
+ }
+ }
+ }
+ },
+ "/glossaries/formats": {
+ "get": {
+ "tags": [
+ "Document Translation"
+ ],
+ "summary": "Returns the list of supported glossary formats",
+ "description": "The list of supported glossary formats supported by the Document Translation service.\r\nThe list includes the common file extension used.",
+ "operationId": "DocumentTranslation_GetSupportedGlossaryFormats",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the list of supported glossary file formats",
+ "schema": {
+ "$ref": "#/definitions/SupportedFileFormats"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Glossary Formats": {
+ "$ref": "./examples/glossary.json"
+ }
+ }
+ }
+ },
+ "/storagesources": {
+ "get": {
+ "tags": [
+ "Document Translation"
+ ],
+ "summary": "Returns a list of supported storage sources",
+ "description": "Returns a list of storage sources/options supported by the Document Translation service.",
+ "operationId": "DocumentTranslation_GetSupportedStorageSources",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and returns the list of storage sources",
+ "schema": {
+ "$ref": "#/definitions/SupportedStorageSources"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User's request rate is too high\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/TranslationErrorResponse"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Document Storage Sources": {
+ "$ref": "./examples/storage.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DocumentFilter": {
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "A case-sensitive prefix string to filter documents in the source path for translation. \r\nFor example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for translation.",
+ "type": "string",
+ "example": "FolderA"
+ },
+ "suffix": {
+ "description": "A case-sensitive suffix string to filter documents in the source path for translation. \r\nThis is most often use for file extensions",
+ "type": "string",
+ "example": ".txt"
+ }
+ }
+ },
+ "StorageSource": {
+ "description": "Storage Source",
+ "enum": [
+ "AzureBlob"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageSource",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "AzureBlob"
+ }
+ ]
+ }
+ },
+ "SourceInput": {
+ "description": "Source of the input documents",
+ "required": [
+ "sourceUrl"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceUrl": {
+ "description": "Location of the folder / container or single file with your documents",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/Container/"
+ },
+ "filter": {
+ "$ref": "#/definitions/DocumentFilter"
+ },
+ "language": {
+ "description": "Language code\r\nIf none is specified, we will perform auto detect on the document",
+ "type": "string",
+ "example": "en"
+ },
+ "storageSource": {
+ "$ref": "#/definitions/StorageSource"
+ }
+ }
+ },
+ "Glossary": {
+ "description": "Glossary / translation memory for the request",
+ "required": [
+ "format",
+ "glossaryUrl"
+ ],
+ "type": "object",
+ "properties": {
+ "glossaryUrl": {
+ "description": "Location of the glossary. \r\nWe will use the file extension to extract the formatting if the format parameter is not supplied.\r\n\r\nIf the translation language pair is not present in the glossary, it will not be applied",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/Container/myglossary.tsv"
+ },
+ "format": {
+ "description": "Format",
+ "type": "string",
+ "example": "XLIFF"
+ },
+ "version": {
+ "description": "Optional Version. If not specified, default is used.",
+ "type": "string",
+ "example": "2.0"
+ },
+ "storageSource": {
+ "$ref": "#/definitions/StorageSource"
+ }
+ }
+ },
+ "TargetInput": {
+ "description": "Destination for the finished translated documents",
+ "required": [
+ "language",
+ "targetUrl"
+ ],
+ "type": "object",
+ "properties": {
+ "targetUrl": {
+ "description": "Location of the folder / container with your documents",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/TargetUrl/"
+ },
+ "category": {
+ "description": "Category / custom system for translation request",
+ "type": "string",
+ "example": "general"
+ },
+ "language": {
+ "description": "Target Language",
+ "type": "string",
+ "example": "fr"
+ },
+ "glossaries": {
+ "description": "List of Glossary",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Glossary"
+ }
+ },
+ "storageSource": {
+ "$ref": "#/definitions/StorageSource"
+ }
+ }
+ },
+ "StorageInputType": {
+ "description": "Storage type of the input documents source string",
+ "enum": [
+ "Folder",
+ "File"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageInputType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Folder"
+ },
+ {
+ "value": "File"
+ }
+ ]
+ }
+ },
+ "BatchRequest": {
+ "description": "Definition for the input batch translation request",
+ "required": [
+ "source",
+ "targets"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/SourceInput"
+ },
+ "targets": {
+ "description": "Location of the destination for the output",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TargetInput"
+ }
+ },
+ "storageType": {
+ "$ref": "#/definitions/StorageInputType"
+ }
+ }
+ },
+ "StartTranslationDetails": {
+ "description": "Translation job submission batch request",
+ "required": [
+ "inputs"
+ ],
+ "type": "object",
+ "properties": {
+ "inputs": {
+ "description": "The input list of documents or folders containing documents",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BatchRequest"
+ }
+ }
+ }
+ },
+ "Status": {
+ "description": "List of possible statuses for job or document",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling",
+ "ValidationFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NotStarted"
+ },
+ {
+ "value": "Running"
+ },
+ {
+ "value": "Succeeded"
+ },
+ {
+ "value": "Failed"
+ },
+ {
+ "value": "Cancelled"
+ },
+ {
+ "value": "Cancelling"
+ },
+ {
+ "value": "ValidationFailed"
+ }
+ ]
+ }
+ },
+ "TranslationErrorCode": {
+ "description": "Enums containing high level error codes.",
+ "enum": [
+ "InvalidRequest",
+ "InvalidArgument",
+ "InternalServerError",
+ "ServiceUnavailable",
+ "ResourceNotFound",
+ "Unauthorized",
+ "RequestRateTooHigh"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TranslationErrorCode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "InvalidRequest"
+ },
+ {
+ "value": "InvalidArgument"
+ },
+ {
+ "value": "InternalServerError"
+ },
+ {
+ "value": "ServiceUnavailable"
+ },
+ {
+ "value": "ResourceNotFound"
+ },
+ {
+ "value": "Unauthorized"
+ },
+ {
+ "value": "RequestRateTooHigh"
+ }
+ ]
+ }
+ },
+ "InnerTranslationError": {
+ "description": "New Inner Error format which conforms to Cognitive Services API Guidelines which is available at https://microsoft.sharepoint.com/%3Aw%3A/t/CognitiveServicesPMO/EUoytcrjuJdKpeOKIK_QRC8BPtUYQpKBi8JsWyeDMRsWlQ?e=CPq8ow.\r\nThis contains required properties ErrorCode, message and optional properties target, details(key value pair), inner error(this can be nested).",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Gets code error string.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Gets high level error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Gets the source of the error. \r\nFor example it would be \"documents\" or \"document id\" in case of invalid document.",
+ "type": "string",
+ "readOnly": true
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerTranslationError"
+ }
+ }
+ },
+ "TranslationError": {
+ "description": "This contains an outer error with error code, message, details, target and an inner error with more descriptive details.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "$ref": "#/definitions/TranslationErrorCode"
+ },
+ "message": {
+ "description": "Gets high level error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Gets the source of the error. \r\nFor example it would be \"documents\" or \"document id\" in case of invalid document.",
+ "type": "string",
+ "readOnly": true
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerTranslationError"
+ }
+ }
+ },
+ "StatusSummary": {
+ "required": [
+ "cancelled",
+ "failed",
+ "inProgress",
+ "notYetStarted",
+ "success",
+ "total",
+ "totalCharacterCharged"
+ ],
+ "type": "object",
+ "properties": {
+ "total": {
+ "format": "int32",
+ "description": "Total count",
+ "type": "integer",
+ "example": 1
+ },
+ "failed": {
+ "format": "int32",
+ "description": "Failed count",
+ "type": "integer",
+ "example": 0
+ },
+ "success": {
+ "format": "int32",
+ "description": "Number of Success",
+ "type": "integer",
+ "example": 1
+ },
+ "inProgress": {
+ "format": "int32",
+ "description": "Number of in progress",
+ "type": "integer",
+ "example": 0
+ },
+ "notYetStarted": {
+ "format": "int32",
+ "description": "Count of not yet started",
+ "type": "integer",
+ "example": 0
+ },
+ "cancelled": {
+ "format": "int32",
+ "description": "Number of cancelled",
+ "type": "integer",
+ "example": 0
+ },
+ "totalCharacterCharged": {
+ "format": "int64",
+ "description": "Total characters charged by the API",
+ "type": "integer"
+ }
+ }
+ },
+ "TranslationStatus": {
+ "description": "Translation job status response",
+ "required": [
+ "createdDateTimeUtc",
+ "id",
+ "lastActionDateTimeUtc",
+ "status",
+ "summary"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Id of the operation.",
+ "type": "string",
+ "example": "36724748-f7a0-4db7-b7fd-f041ddc75033"
+ },
+ "createdDateTimeUtc": {
+ "format": "date-time",
+ "description": "Operation created date time",
+ "type": "string",
+ "example": "2020-01-20T11:40:07.7010000-08:00"
+ },
+ "lastActionDateTimeUtc": {
+ "format": "date-time",
+ "description": "Date time in which the operation's status has been updated",
+ "type": "string",
+ "example": "2020-01-20T11:41:07.7010000-08:00"
+ },
+ "status": {
+ "$ref": "#/definitions/Status"
+ },
+ "error": {
+ "$ref": "#/definitions/TranslationError"
+ },
+ "summary": {
+ "$ref": "#/definitions/StatusSummary"
+ }
+ }
+ },
+ "TranslationsStatus": {
+ "description": "Translation job Status Response",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The summary status of individual operation",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TranslationStatus"
+ }
+ },
+ "@nextLink": {
+ "description": "Url for the next page. Null if no more pages available",
+ "type": "string",
+ "example": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0/operations?$top=5&$skip=15"
+ }
+ }
+ },
+ "DocumentStatus": {
+ "description": "Document Status Response",
+ "required": [
+ "createdDateTimeUtc",
+ "id",
+ "lastActionDateTimeUtc",
+ "progress",
+ "sourcePath",
+ "status",
+ "to"
+ ],
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "Location of the document or folder",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/mycontainer/fr/mydoc.txt"
+ },
+ "sourcePath": {
+ "description": "Location of the source document",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/mycontainer/fr/mydoc.txt"
+ },
+ "createdDateTimeUtc": {
+ "format": "date-time",
+ "description": "Operation created date time",
+ "type": "string",
+ "example": "2020-01-20T11:40:07.7010000-08:00"
+ },
+ "lastActionDateTimeUtc": {
+ "format": "date-time",
+ "description": "Date time in which the operation's status has been updated",
+ "type": "string",
+ "example": "2020-01-20T11:41:07.7010000-08:00"
+ },
+ "status": {
+ "$ref": "#/definitions/Status"
+ },
+ "to": {
+ "description": "To language",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/TranslationError"
+ },
+ "progress": {
+ "format": "float",
+ "description": "Progress of the translation if available",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number",
+ "example": 0.5
+ },
+ "id": {
+ "format": "uuid",
+ "description": "Document Id",
+ "type": "string",
+ "example": "1c7399a7-6913-4f20-bb43-e2fe2ba1a67d"
+ },
+ "characterCharged": {
+ "format": "int64",
+ "description": "Character charged by the API",
+ "type": "integer"
+ }
+ }
+ },
+ "DocumentsStatus": {
+ "description": "Documents Status Response",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The detail status of individual documents",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentStatus"
+ }
+ },
+ "@nextLink": {
+ "description": "Url for the next page. Null if no more pages available",
+ "type": "string",
+ "example": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0/operations/727BF148-F327-47A0-9481-ABAE6362F11E/documents?$top=5&$skip=15"
+ }
+ }
+ },
+ "FileFormat": {
+ "required": [
+ "contentTypes",
+ "fileExtensions",
+ "format"
+ ],
+ "type": "object",
+ "properties": {
+ "format": {
+ "description": "Name of the format",
+ "type": "string",
+ "example": "PlainText"
+ },
+ "fileExtensions": {
+ "description": "Supported file extension for this format",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "contentTypes": {
+ "description": "Supported Content-Types for this format",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "defaultVersion": {
+ "description": "Default version if none is specified",
+ "type": "string"
+ },
+ "versions": {
+ "description": "Supported Version",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SupportedFileFormats": {
+ "description": "Base type for List return in our api",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "list of objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FileFormat"
+ }
+ }
+ }
+ },
+ "SupportedStorageSources": {
+ "description": "Base type for List return in our api",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "list of objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageSource"
+ }
+ }
+ }
+ },
+ "TranslationErrorResponse": {
+ "description": "Contains unified error information used for HTTP responses across any Cognitive Service. Instances\r\ncan be created either through Microsoft.CloudAI.Containers.HttpStatusExceptionV2 or by returning it directly from\r\na controller.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/TranslationError"
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "subscription_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header",
+ "description": "Provide your cognitive services subscription key here."
+ }
+ },
+ "security": [
+ {
+ "subscription_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}/translator/text/batch/v1.0",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "in": "path",
+ "name": "endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/batch.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/batch.json
new file mode 100644
index 000000000000..a3701c732f22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/batch.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "v1.0",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "inputs": [
+ {
+ "source": {
+ "sourceUrl": "https://myblob.blob.core.windows.net/sourceContainer",
+ "filter": {
+ "prefix": "pre",
+ "suffix": ".txt"
+ },
+ "language": "en",
+ "storageSource": "AzureBlob"
+ },
+ "targets": [
+ {
+ "targetUrl": "https://myblob.blob.core.windows.net/destinationContainer1",
+ "category": "general",
+ "language": "fr",
+ "glossaries": [
+ {
+ "glossaryUrl": "https://myblob.blob.core.windows.net/myglossary/en_fr_glossary.xlf",
+ "storageSource": "AzureBlob",
+ "format": "XLIFF"
+ }
+ ],
+ "storageSource": "AzureBlob"
+ },
+ {
+ "targetUrl": "https://myblob.blob.core.windows.net/destinationContainer2",
+ "category": "general",
+ "language": "es",
+ "storageSource": "AzureBlob"
+ }
+ ],
+ "storageType": "Folder"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "innerError": {
+ "code": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "innerError": {
+ "code": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "innerError": {
+ "code": "InternalServerError",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "innerError": {
+ "code": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Operation-Location": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Some argument is incorrect",
+ "innerError": {
+ "code": "SASTokenInvalid",
+ "message": "SAS token for storage is invalid"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/cancel.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/cancel.json
new file mode 100644
index 000000000000..e3bd0a028009
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/cancel.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "v1.0",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "id": "727BF148-F327-47A0-9481-ABAE6362F11E"
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Operation",
+ "innerError": {
+ "code": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Operation",
+ "innerError": {
+ "code": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Operation",
+ "innerError": {
+ "code": "InternalServerError",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Operation",
+ "innerError": {
+ "code": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ResourceNotFound",
+ "message": "id not found",
+ "target": "Operation",
+ "innerError": {
+ "code": "ResourceNotFound",
+ "message": "Resource requested is not found"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "727bf148-f327-47a0-9481-abae6362f11e",
+ "createdDateTimeUtc": "2020-03-26T00:00:00Z",
+ "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "status": "Succeeded",
+ "summary": {
+ "total": 10,
+ "failed": 1,
+ "success": 9,
+ "inProgress": 0,
+ "notYetStarted": 0,
+ "cancelled": 0,
+ "totalCharacterCharged": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/document.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/document.json
new file mode 100644
index 000000000000..f466f9a5aee8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/document.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "v1.0",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "id": "727BF148-F327-47A0-9481-ABAE6362F11E",
+ "documentId": 199800
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Document",
+ "innerError": {
+ "code": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Document",
+ "innerError": {
+ "code": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Document",
+ "innerError": {
+ "code": "InternalServerError",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Document",
+ "innerError": {
+ "code": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ResourceNotFound",
+ "message": "id not found",
+ "target": "Document",
+ "innerError": {
+ "code": "ResourceNotFound",
+ "message": "Resource requested is not found"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "path": "https://myblob.blob.core.windows.net/destinationContainer/fr/mydoc.txt",
+ "sourcePath": "https://myblob.blob.core.windows.net/sourceContainer/fr/mydoc.txt",
+ "createdDateTimeUtc": "2020-03-26T00:00:00Z",
+ "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "status": "Running",
+ "to": "fr",
+ "progress": 0.1,
+ "id": "273622bd-835c-4946-9798-fd8f19f6bbf2",
+ "characterCharged": 0
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/documents.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/documents.json
new file mode 100644
index 000000000000..772a471893a4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/documents.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "api-version": "v1.0",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "id": "727BF148-F327-47A0-9481-ABAE6362F11E",
+ "$top": 2,
+ "$skip": 0,
+ "$maxpagesize": 1,
+ "$orderBy": "CreatedDateTimeUtc asc",
+ "createdDateTimeUtcStart": "2021-03-23T07:03:38.0136316Z",
+ "createdDateTimeUtcEnd": "2021-03-25T07:03:38.0136316Z",
+ "statuses": [
+ "Succeeded"
+ ],
+ "ids": [
+ "273622bd-835c-4946-9798-fd8f19f6bbf2",
+ "511b6a66-a6f8-4640-83e1-48c325e9fa29"
+ ]
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Document",
+ "innerError": {
+ "code": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Document",
+ "innerError": {
+ "code": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Document",
+ "innerError": {
+ "code": "InternalServerError",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Document",
+ "innerError": {
+ "code": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ResourceNotFound",
+ "message": "id not found",
+ "target": "Document",
+ "innerError": {
+ "code": "ResourceNotFound",
+ "message": "Resource requested is not found"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ {
+ "path": "https://myblob.blob.core.windows.net/destinationContainer/fr/mydoc.txt",
+ "sourcePath": "https://myblob.blob.core.windows.net/sourceContainer/fr/mydoc.txt",
+ "createdDateTimeUtc": "2021-03-23T07:03:39.013631Z",
+ "lastActionDateTimeUtc": "2021-03-23T07:03:41.012452Z",
+ "status": "Running",
+ "to": "fr",
+ "progress": 0.1,
+ "id": "273622bd-835c-4946-9798-fd8f19f6bbf2",
+ "characterCharged": 0
+ }
+ ],
+ "@nextLink": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55/documents?$top=1&$skip=1&$maxpagesize=1&$orderBy=CreatedDateTimeUtc%20asc&createdDateTimeUtcStart=2021-03-23T00:03:38.0136316Z&createdDateTimeUtcEnd=2021-03-25T00:03:38.0136316&statuses=Succeeded&ids=273622BD-835C-4946-9798-FD8F19F6BBF2,511B6A66-A6F8-4640-83E1-48C325E9FA29"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Some argument is incorrect",
+ "target": "Document",
+ "innerError": {
+ "code": "SASTokenInvalid",
+ "message": "SAS token for storage is invalid"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/format.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/format.json
new file mode 100644
index 000000000000..98b62ce43ae4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/format.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "api-version": "v1.0",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "innerError": {
+ "code": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "innerError": {
+ "code": "InternalServerError",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "innerError": {
+ "code": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ {
+ "format": "PlainText",
+ "fileExtensions": [
+ ".txt"
+ ],
+ "contentTypes": [
+ "text/plain"
+ ]
+ },
+ {
+ "format": "PortableDocumentFormat",
+ "fileExtensions": [
+ ".pdf"
+ ],
+ "contentTypes": [
+ "application/pdf"
+ ]
+ },
+ {
+ "format": "OpenXmlWord",
+ "fileExtensions": [
+ ".docx"
+ ],
+ "contentTypes": [
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+ ]
+ },
+ {
+ "format": "OpenXmlPresentation",
+ "fileExtensions": [
+ ".pptx"
+ ],
+ "contentTypes": [
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation"
+ ]
+ },
+ {
+ "format": "OpenXmlSpreadsheet",
+ "fileExtensions": [
+ ".xlsx"
+ ],
+ "contentTypes": [
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+ ]
+ },
+ {
+ "format": "HtmlFile",
+ "fileExtensions": [
+ ".html",
+ ".htm"
+ ],
+ "contentTypes": [
+ "text/html"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/glossary.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/glossary.json
new file mode 100644
index 000000000000..631be37c43d7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/glossary.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "v1.0",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "innerError": {
+ "code": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "innerError": {
+ "code": "InternalServerError",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "innerError": {
+ "code": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ {
+ "format": "XLIFF",
+ "fileExtensions": [
+ ".xlf"
+ ],
+ "contentTypes": [
+ "application/xliff+xml"
+ ],
+ "defaultVersion": "1.2",
+ "versions": [
+ "1.0",
+ "1.1",
+ "1.2"
+ ]
+ },
+ {
+ "format": "TMX",
+ "fileExtensions": [
+ ".tmx"
+ ],
+ "contentTypes": [],
+ "versions": [
+ "1.0",
+ "1.1",
+ "1.2",
+ "1.3",
+ "1.4"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/operation.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/operation.json
new file mode 100644
index 000000000000..ec846c209d3c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/operation.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "v1.0",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "id": "727BF148-F327-47A0-9481-ABAE6362F11E"
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Operation",
+ "innerError": {
+ "code": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Operation",
+ "innerError": {
+ "code": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Operation",
+ "innerError": {
+ "code": "InternalServerError",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Operation",
+ "innerError": {
+ "code": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ResourceNotFound",
+ "message": "id not found",
+ "target": "Operation",
+ "innerError": {
+ "code": "ResourceNotFound",
+ "message": "Resource requested is not found"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "id": "727bf148-f327-47a0-9481-abae6362f11e",
+ "createdDateTimeUtc": "2020-03-26T00:00:00Z",
+ "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "status": "Succeeded",
+ "summary": {
+ "total": 10,
+ "failed": 1,
+ "success": 9,
+ "inProgress": 0,
+ "notYetStarted": 0,
+ "cancelled": 0,
+ "totalCharacterCharged": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/operations.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/operations.json
new file mode 100644
index 000000000000..acd4ee3ed53f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/operations.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "v1.0",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "$top": 1,
+ "$skip": 0,
+ "$maxpagesize": 10,
+ "$orderBy": "CreatedDateTime asc",
+ "createdDateTimeUtcStart": "2021-03-23T07:03:38.0136316Z",
+ "createdDateTimeUtcEnd": "2021-03-25T07:03:38.0136316Z",
+ "statuses": [
+ "Succeeded"
+ ],
+ "ids": [
+ "273622bd-835c-4946-9798-fd8f19f6bbf2"
+ ]
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Operation",
+ "innerError": {
+ "code": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Operation",
+ "innerError": {
+ "code": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Operation",
+ "innerError": {
+ "code": "InternalServerError",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Operation",
+ "innerError": {
+ "code": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ {
+ "id": "273622bd-835c-4946-9798-fd8f19f6bbf2",
+ "createdDateTimeUtc": "2021-03-23T07:03:30.013631Z",
+ "lastActionDateTimeUtc": "2021-03-26T01:00:00Z",
+ "status": "Succeeded",
+ "summary": {
+ "total": 10,
+ "failed": 1,
+ "success": 9,
+ "inProgress": 0,
+ "notYetStarted": 0,
+ "cancelled": 0,
+ "totalCharacterCharged": 1000
+ }
+ }
+ ]
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Some argument is incorrect",
+ "target": "Operation",
+ "innerError": {
+ "code": "SASTokenInvalid",
+ "message": "SAS token for storage is invalid"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/storage.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/storage.json
new file mode 100644
index 000000000000..d0739bb4a322
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/examples/storage.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "v1.0",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "innerError": {
+ "code": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "innerError": {
+ "code": "InternalServerError",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "innerError": {
+ "code": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ "AzureBlob"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/VideoSearch/readme.go.md b/specification/cognitiveservices/data-plane/VideoSearch/readme.go.md
index c61ebf23aa63..ec355d39a83f 100644
--- a/specification/cognitiveservices/data-plane/VideoSearch/readme.go.md
+++ b/specification/cognitiveservices/data-plane/VideoSearch/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: videosearch
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/VisualSearch/readme.go.md b/specification/cognitiveservices/data-plane/VisualSearch/readme.go.md
index f5241d4cf945..a3ce5d91a779 100644
--- a/specification/cognitiveservices/data-plane/VisualSearch/readme.go.md
+++ b/specification/cognitiveservices/data-plane/VisualSearch/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: visualsearch
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/data-plane/WebSearch/readme.go.md b/specification/cognitiveservices/data-plane/WebSearch/readme.go.md
index f610feae8594..273198c3586a 100644
--- a/specification/cognitiveservices/data-plane/WebSearch/readme.go.md
+++ b/specification/cognitiveservices/data-plane/WebSearch/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: websearch
clear-output-folder: true
```
diff --git a/specification/cognitiveservices/resource-manager/readme.go.md b/specification/cognitiveservices/resource-manager/readme.go.md
index 53b03ae33d05..0b784788d841 100644
--- a/specification/cognitiveservices/resource-manager/readme.go.md
+++ b/specification/cognitiveservices/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: cognitiveservices
clear-output-folder: true
```
diff --git a/specification/commerce/resource-manager/readme.go.md b/specification/commerce/resource-manager/readme.go.md
index b3764e08ef61..59cf7e8db97f 100644
--- a/specification/commerce/resource-manager/readme.go.md
+++ b/specification/commerce/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: commerce
clear-output-folder: true
```
diff --git a/specification/communication/data-plane/readme.csharp.md b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.csharp.md
similarity index 100%
rename from specification/communication/data-plane/readme.csharp.md
rename to specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.csharp.md
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.md b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.md
new file mode 100644
index 000000000000..65345bcd60c4
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.md
@@ -0,0 +1,66 @@
+# communicationservices
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for communicationservices.
+
+## Getting Started
+
+To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run:
+
+> `autorest readme.md`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page.
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the communicationservices.
+
+```yaml
+openapi-type: data-plane
+tag: package-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:
+ - preview/2020-07-20-preview1/communicationservicesadministration.json
+title:
+ Azure Communication Services
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/communication/data-plane/readme.python.md b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.python.md
similarity index 100%
rename from specification/communication/data-plane/readme.python.md
rename to specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.python.md
diff --git a/specification/communication/data-plane/readme.ruby.md b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.ruby.md
similarity index 100%
rename from specification/communication/data-plane/readme.ruby.md
rename to specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.ruby.md
diff --git a/specification/communication/data-plane/readme.typescript.md b/specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.typescript.md
similarity index 100%
rename from specification/communication/data-plane/readme.typescript.md
rename to specification/communication/data-plane/Microsoft.CommunicationServicesAdministration/readme.typescript.md
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/communicationserviceschat.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/communicationserviceschat.json
new file mode 100644
index 000000000000..73b36b427f09
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/communicationserviceschat.json
@@ -0,0 +1,1690 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication Chat Service",
+ "description": "Azure Communication Chat Service",
+ "version": "2021-03-01-preview5"
+ },
+ "paths": {
+ "/chat/threads/{chatThreadId}/readReceipts": {
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets chat message read receipts for a thread.",
+ "operationId": "ChatThread_ListChatReadReceipts",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get the chat message read receipts for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of chat message read receipts to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "Skips chat message read receipts up to a specified position in response.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the requested `ChatMessageReadReceipt` resources.",
+ "schema": {
+ "$ref": "#/definitions/ChatMessageReadReceiptsCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get thread read receipts with pagination (max page size)": {
+ "$ref": "./examples/Conversations_ListChatReadReceiptsWithPageSize.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": "ChatThread_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": "sendReadReceiptRequest",
+ "description": "Read receipt details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SendReadReceiptRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send read receipt": {
+ "$ref": "./examples/Conversations_SendChatReadReceipt.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/messages": {
+ "post": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Sends a message to a thread.",
+ "operationId": "ChatThread_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": "sendChatMessageRequest",
+ "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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send Message": {
+ "$ref": "./examples/Messages_SendChatMessage.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Gets a list of messages from a thread.",
+ "operationId": "ChatThread_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 RFC3339 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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "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": "ChatThread_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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Message": {
+ "$ref": "./examples/Messages_GetChatMessage.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Updates a message.",
+ "operationId": "ChatThread_UpdateChatMessage",
+ "consumes": [
+ "application/merge-patch+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": "updateChatMessageRequest",
+ "description": "Details of the request to update the message.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatMessageRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Message is successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update message content": {
+ "$ref": "./examples/Messages_UpdateChatMessage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Deletes a message.",
+ "operationId": "ChatThread_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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "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": "ChatThread_SendTypingNotification",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Post typing event to a thread": {
+ "$ref": "./examples/Messages_SendTypingNotification.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants": {
+ "get": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Gets the participants of a thread.",
+ "operationId": "ChatThread_ListChatParticipants",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get participants for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of participants to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "Skips participants up to a specified position in response.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the participants of a thread.",
+ "schema": {
+ "$ref": "#/definitions/ChatParticipantsCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get participants with pagination (max page size)": {
+ "$ref": "./examples/Participants_ListChatParticipantsWithPageSize.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants/:remove": {
+ "post": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Remove a participant from a thread.",
+ "operationId": "ChatThread_RemoveChatParticipant",
+ "consumes": [
+ "application/json",
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to remove the participant from.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "participantCommunicationIdentifier",
+ "description": "Id of the thread participant to remove from the thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Remove participant": {
+ "$ref": "./examples/Participants_RemoveChatParticipant.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants/:add": {
+ "post": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Adds thread participants to a thread. If participants already exist, no change occurs.",
+ "operationId": "ChatThread_AddChatParticipants",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread to add participants to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "addChatParticipantsRequest",
+ "description": "Thread participants to be added to the thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddChatParticipantsRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The participants were successfully added.",
+ "schema": {
+ "$ref": "#/definitions/AddChatParticipantsResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Add participants": {
+ "$ref": "./examples/Participants_AddChatParticipants.json"
+ }
+ }
+ }
+ },
+ "/chat/threads": {
+ "post": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Creates a chat thread.",
+ "operationId": "Chat_CreateChatThread",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "header",
+ "name": "idempotency-token",
+ "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Idempotency-Token and get back an appropriate response without the server executing the request multiple times. The value of the Idempotency-Token is an opaque string representing a client-generated, globally unique for all time, identifier for the request. It is recommended to use version 4 (random) UUIDs.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "createChatThreadRequest",
+ "description": "Request payload for creating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Thread created, the `Location` header would contain the URL for the newly created thread.",
+ "schema": {
+ "$ref": "#/definitions/CreateChatThreadResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Create chat thread": {
+ "$ref": "./examples/Threads_CreateChatThread.json"
+ },
+ "Create chat thread with repeatability request id header": {
+ "$ref": "./examples/Threads_CreateChatThreadWithIdempotencyToken.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets the list of chat threads of a user.",
+ "operationId": "Chat_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 RFC3339 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/ChatThreadsItemCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "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": "ChatThread_UpdateChatThreadProperties",
+ "consumes": [
+ "application/merge-patch+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": "updateChatThreadRequest",
+ "description": "Request payload for updating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Thread was successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update chat thread topic": {
+ "$ref": "./examples/Threads_UpdateChatThreadTopic.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets a chat thread's properties.",
+ "operationId": "ChatThread_GetChatThreadProperties",
+ "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. The action returns a chat thread.",
+ "schema": {
+ "$ref": "#/definitions/ChatThreadProperties"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get chat thread": {
+ "$ref": "./examples/Threads_GetChatThread.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Deletes a thread.",
+ "operationId": "Chat_DeleteChatThread",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Delete chat thread": {
+ "$ref": "./examples/Threads_DeleteChatThread.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationUserIdentifierModel": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationUserIdentifierModel"
+ },
+ "CommunicationCloudEnvironment": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationCloudEnvironmentModel"
+ },
+ "MicrosoftTeamsUserIdentifierModel": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/MicrosoftTeamsUserIdentifierModel"
+ },
+ "CommunicationIdentifierModel": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationIdentifierModel"
+ },
+ "ChatMessageReadReceipt": {
+ "description": "A chat message read receipt indicates the time a chat message was read by a recipient.",
+ "required": [
+ "chatMessageId",
+ "readOn",
+ "senderCommunicationIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "chatMessageId": {
+ "description": "Id of the chat message that has been read. This id is generated by the server.",
+ "type": "string",
+ "example": "1591137790240"
+ },
+ "readOn": {
+ "format": "date-time",
+ "description": "The time at which the message was read. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatMessageReadReceiptsCollection": {
+ "description": "A paged collection of chat message read receipts.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat message read receipts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatMessageReadReceipt"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat message read receipts that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CommunicationError": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationError"
+ },
+ "CommunicationErrorResponse": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "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"
+ }
+ }
+ },
+ "ChatMessageType": {
+ "description": "The chat message type.",
+ "enum": [
+ "text",
+ "html",
+ "topicUpdated",
+ "participantAdded",
+ "participantRemoved"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ChatMessageType",
+ "modelAsString": true
+ }
+ },
+ "SendChatMessageRequest": {
+ "description": "Details of the message to send.",
+ "required": [
+ "content"
+ ],
+ "type": "object",
+ "properties": {
+ "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"
+ },
+ "type": {
+ "$ref": "#/definitions/ChatMessageType"
+ }
+ }
+ },
+ "SendChatMessageResult": {
+ "description": "Result of the send message operation.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "A server-generated message id.",
+ "type": "string",
+ "example": "123456789"
+ }
+ }
+ },
+ "ChatParticipant": {
+ "description": "A participant of the chat thread.",
+ "required": [
+ "communicationIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "communicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "displayName": {
+ "description": "Display name for the chat participant.",
+ "type": "string",
+ "example": "Bob"
+ },
+ "shareHistoryTime": {
+ "format": "date-time",
+ "description": "Time from which the chat history is shared with the participant. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatMessageContent": {
+ "description": "Content of a chat message.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Chat message content for messages of types text or html.",
+ "type": "string",
+ "example": "Come one guys, lets go for lunch together."
+ },
+ "topic": {
+ "description": "Chat message content for messages of type topicUpdated.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "participants": {
+ "description": "Chat message content for messages of types participantAdded or participantRemoved.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ },
+ "initiatorCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ }
+ }
+ },
+ "ChatMessage": {
+ "description": "Chat message.",
+ "required": [
+ "createdOn",
+ "id",
+ "sequenceId",
+ "type",
+ "version"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the chat message. This id is server generated.",
+ "type": "string",
+ "example": "123456789"
+ },
+ "type": {
+ "$ref": "#/definitions/ChatMessageType"
+ },
+ "sequenceId": {
+ "description": "Sequence of the chat message in the conversation.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the chat message.",
+ "type": "string"
+ },
+ "content": {
+ "$ref": "#/definitions/ChatMessageContent"
+ },
+ "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 RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp (if applicable) when the message was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "editedOn": {
+ "format": "date-time",
+ "description": "The last timestamp (if applicable) when the message was edited. The timestamp is in RFC3339 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.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat messages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatMessage"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat messages that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatMessageRequest": {
+ "description": "Request payload for updating a chat message.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "Chat message content.",
+ "type": "string",
+ "example": "Let's go for lunch together."
+ }
+ }
+ },
+ "ChatParticipantsCollection": {
+ "description": "Collection of participants belong to a particular thread.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Chat participants.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat participants that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AddChatParticipantsRequest": {
+ "description": "Participants to be added to the thread.",
+ "required": [
+ "participants"
+ ],
+ "type": "object",
+ "properties": {
+ "participants": {
+ "description": "Participants to add to a chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ }
+ }
+ },
+ "AddChatParticipantsResult": {
+ "description": "Result of the add chat participants operation.",
+ "type": "object",
+ "properties": {
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "CreateChatThreadRequest": {
+ "description": "Request payload for creating a chat thread.",
+ "required": [
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "The chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ },
+ "participants": {
+ "description": "Participants to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ }
+ }
+ },
+ "ChatThreadProperties": {
+ "description": "Chat thread.",
+ "required": [
+ "createdByCommunicationIdentifier",
+ "createdOn",
+ "id",
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "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 RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "createdByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "CreateChatThreadResult": {
+ "description": "Result of the create chat thread operation.",
+ "type": "object",
+ "properties": {
+ "chatThread": {
+ "$ref": "#/definitions/ChatThreadProperties"
+ },
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ChatThreadItem": {
+ "description": "Summary information of a chat thread.",
+ "required": [
+ "id",
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "example": "19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2"
+ },
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "lastMessageReceivedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the last message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "readOnly": true,
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatThreadsItemCollection": {
+ "description": "Collection of chat threads.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat threads.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadItem"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat threads that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatThreadRequest": {
+ "description": "Request payload for updating a chat thread.",
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ }
+ }
+ }
+ },
+ "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/2021-03-01-preview5/examples/Conversations_ListChatReadReceiptsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Conversations_ListChatReadReceiptsWithPageSize.json
new file mode 100644
index 000000000000..0fa5e559f908
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Conversations_ListChatReadReceiptsWithPageSize.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "maxPageSize": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "chatMessageId": "1591137790240",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "chatMessageId": "1591768249318",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/readReceipts?skip=2&maxPageSize=2&api-version=2021-03-01-preview5"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Conversations_SendChatReadReceipt.json
new file mode 100644
index 000000000000..7afb7d7d2f3b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Conversations_SendChatReadReceipt.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendReadReceiptRequest": {
+ "chatMessageId": "1591137790240"
+ }
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_DeleteChatMessage.json
new file mode 100644
index 000000000000..4a33e77bcff9
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_DeleteChatMessage.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_GetChatMessage.json
new file mode 100644
index 000000000000..8cee08d49a66
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_GetChatMessage.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "1591768249318",
+ "sequenceId": "1",
+ "type": "text",
+ "version": "1599016601134",
+ "content": {
+ "message": "Let's head out for lunch in 15 minutes."
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-10T05:50:49.3180000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_ListChatMessagesWithPageSize.json
new file mode 100644
index 000000000000..09e7efa397c3
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_ListChatMessagesWithPageSize.json
@@ -0,0 +1,157 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "19:453dafb77b26481ea2e73bcada0324af@thread.v2",
+ "maxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "1593107077690",
+ "type": "text",
+ "version": "1593107077683",
+ "sequenceId": "5",
+ "content": {
+ "message": "So where should we get lunch from today?"
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593107077683",
+ "type": "text",
+ "sequenceId": "4",
+ "version": "1593107077683",
+ "content": {
+ "message": "Let's use this chat to decide what to get for lunch today."
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593107046498",
+ "type": "text",
+ "sequenceId": "3",
+ "version": "1593107046498",
+ "content": {
+ "message": "Good morning everyone!"
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:06.4980000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593106976785",
+ "type": "topicUpdated",
+ "sequenceId": "2",
+ "version": "1593106976785",
+ "content": {
+ "initiatorCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "topic": "Lunch"
+ },
+ "createdOn": "2020-06-25T17:42:56.7850000Z"
+ },
+ {
+ "id": "1593106976753",
+ "type": "participantAdded",
+ "version": "1593106976753",
+ "sequenceId": "1",
+ "content": {
+ "initiatorCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ }
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d"
+ }
+ }
+ }
+ ]
+ },
+ "createdOn": "2020-06-25T17:42:56.7530000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/messages?syncState=3e4700000031393a756e6930315f7a626e68336e74326466756666657a6333736f7837646f67377766686b36793571653272776c6e66686c68647a69726968647071407468726561642e763201451fe6e77201000004357fea72010000&startTime=0&maxPageSize=5&api-version=2021-03-01-preview5"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendChatMessage.json
new file mode 100644
index 000000000000..aa0b6fc2a6c1
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendChatMessage.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendChatMessageRequest": {
+ "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": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendTypingNotification.json
new file mode 100644
index 000000000000..5b0453c7eaf0
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_SendTypingNotification.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "x-skypetoken": "token",
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_UpdateChatMessage.json
new file mode 100644
index 000000000000..9bee3480d0ce
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Messages_UpdateChatMessage.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "content-type": "application/merge-patch+json",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318",
+ "updateChatMessageRequest": {
+ "content": "Updated message content"
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_AddChatParticipants.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_AddChatParticipants.json
new file mode 100644
index 000000000000..0d955458d427
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_AddChatParticipants.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "addChatParticipantsRequest": {
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Peter",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ },
+ "displayName": "Rama",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_ListChatParticipantsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_ListChatParticipantsWithPageSize.json
new file mode 100644
index 000000000000..7f4f447aea4b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_ListChatParticipantsWithPageSize.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "maxPageSize": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Jane",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/participants?skip=2&maxPageSize=2&api-version=2021-03-01-preview5"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_RemoveChatParticipant.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_RemoveChatParticipant.json
new file mode 100644
index 000000000000..3fd26bb165e2
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Participants_RemoveChatParticipant.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThread.json
new file mode 100644
index 000000000000..1e1c91e054ab
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThread.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "createChatThreadRequest": {
+ "topic": "Lunch",
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Jane"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ },
+ "displayName": "Bob"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d"
+ }
+ },
+ "displayName": "Peter"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "body": {
+ "chatThread": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ }
+ },
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThreadWithIdempotencyToken.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThreadWithIdempotencyToken.json
new file mode 100644
index 000000000000..bfa9c90be336
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_CreateChatThreadWithIdempotencyToken.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "idempotency-token": "35dd6e71-251b-5e29-8376-ba93d09c3fbf",
+ "createChatThreadRequest": {
+ "topic": "Lunch",
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Jane"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ },
+ "displayName": "Bob"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d"
+ }
+ },
+ "displayName": "Peter"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "body": {
+ "chatThread": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ }
+ },
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_DeleteChatThread.json
new file mode 100644
index 000000000000..93985e0b2b31
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_DeleteChatThread.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "19:9525281ac1f947fc884bcee1a9f983c2@thread.v2"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_GetChatThread.json
new file mode 100644
index 000000000000..a8ac597fb8c9
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_GetChatThread.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_ListChatThreadsWithPageSize.json
new file mode 100644
index 000000000000..1574e744aec0
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_ListChatThreadsWithPageSize.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-01-preview5",
+ "maxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Chat with Samantha",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:a0dfe5fc10e04a7f8d8a64d455f4196d@thread.v2",
+ "topic": "Presentation Brainstorming",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_n242d2bzammtwxiib7pbjtozeevjqzavzn654ku3dajocexfo2na@thread.v2",
+ "topic": "Chat with Alex",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:0062022a28be4e0983734f7e45cd8566@thread.v2",
+ "topic": "Lunch",
+ "deletedOn": "2020-07-07T05:55:41.6460000Z",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpe@thread.v2",
+ "topic": "Chat with Bob",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads?syncState=W3sic3RhcnQiOiIyMDIwLTA2LTIzVDIzOjMyOjQ3LjMwNSswMDowMCIsImVuZCI6IjIwMjAtMDYtMjVUMDY6NTY6MjMuNjk2KzAwOjAwIn0seyJzdGFydCI6IjE5NzAtMDEtMDFUMDA6MDA6MDArMDA6MDAiLCJlbmQiOiIxOTcwLTAxLTAxVDAwOjAwOjAwKzAwOjAwIn1d&api-version=2021-03-01-preview5&maxPageSize=5"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_UpdateChatThreadTopic.json
new file mode 100644
index 000000000000..431aab79d5fe
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-03-01-preview5/examples/Threads_UpdateChatThreadTopic.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "content-type": "application/merge-patch+json",
+ "api-version": "2021-03-01-preview5",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "updateChatThreadRequest": {
+ "topic": "Updated Thread Topic"
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/communicationserviceschat.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/communicationserviceschat.json
new file mode 100644
index 000000000000..42c503ccf6f8
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/communicationserviceschat.json
@@ -0,0 +1,1711 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication Chat Service",
+ "description": "Azure Communication Chat Service",
+ "version": "2021-04-05-preview6"
+ },
+ "paths": {
+ "/chat/threads/{chatThreadId}/readReceipts": {
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets chat message read receipts for a thread.",
+ "operationId": "ChatThread_ListChatReadReceipts",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get the chat message read receipts for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of chat message read receipts to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "Skips chat message read receipts up to a specified position in response.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the requested `ChatMessageReadReceipt` resources.",
+ "schema": {
+ "$ref": "#/definitions/ChatMessageReadReceiptsCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get thread read receipts with pagination (max page size)": {
+ "$ref": "./examples/Conversations_ListChatReadReceiptsWithPageSize.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": "ChatThread_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": "sendReadReceiptRequest",
+ "description": "Read receipt details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SendReadReceiptRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send read receipt": {
+ "$ref": "./examples/Conversations_SendChatReadReceipt.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/messages": {
+ "post": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Sends a message to a thread.",
+ "operationId": "ChatThread_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": "sendChatMessageRequest",
+ "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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send Message": {
+ "$ref": "./examples/Messages_SendChatMessage.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Gets a list of messages from a thread.",
+ "operationId": "ChatThread_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 RFC3339 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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "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": "ChatThread_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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Message": {
+ "$ref": "./examples/Messages_GetChatMessage.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Updates a message.",
+ "operationId": "ChatThread_UpdateChatMessage",
+ "consumes": [
+ "application/merge-patch+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": "updateChatMessageRequest",
+ "description": "Details of the request to update the message.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatMessageRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Message is successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update message content": {
+ "$ref": "./examples/Messages_UpdateChatMessage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Deletes a message.",
+ "operationId": "ChatThread_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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "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": "ChatThread_SendTypingNotification",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Post typing event to a thread": {
+ "$ref": "./examples/Messages_SendTypingNotification.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants": {
+ "get": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Gets the participants of a thread.",
+ "operationId": "ChatThread_ListChatParticipants",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get participants for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of participants to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "Skips participants up to a specified position in response.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the participants of a thread.",
+ "schema": {
+ "$ref": "#/definitions/ChatParticipantsCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get participants with pagination (max page size)": {
+ "$ref": "./examples/Participants_ListChatParticipantsWithPageSize.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants/:remove": {
+ "post": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Remove a participant from a thread.",
+ "operationId": "ChatThread_RemoveChatParticipant",
+ "consumes": [
+ "application/json",
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to remove the participant from.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "participantCommunicationIdentifier",
+ "description": "Id of the thread participant to remove from the thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Remove participant": {
+ "$ref": "./examples/Participants_RemoveChatParticipant.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants/:add": {
+ "post": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Adds thread participants to a thread. If participants already exist, no change occurs.",
+ "operationId": "ChatThread_AddChatParticipants",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread to add participants to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "addChatParticipantsRequest",
+ "description": "Thread participants to be added to the thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddChatParticipantsRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The participants were successfully added.",
+ "schema": {
+ "$ref": "#/definitions/AddChatParticipantsResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Add participants": {
+ "$ref": "./examples/Participants_AddChatParticipants.json"
+ }
+ }
+ }
+ },
+ "/chat/threads": {
+ "post": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Creates a chat thread.",
+ "operationId": "Chat_CreateChatThread",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "header",
+ "name": "repeatability-request-id",
+ "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated, globally unique for all time, identifier for the request. It is recommended to use version 4 (random) UUIDs.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "createChatThreadRequest",
+ "description": "Request payload for creating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Thread created, the `Location` header would contain the URL for the newly created thread.",
+ "schema": {
+ "$ref": "#/definitions/CreateChatThreadResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Create chat thread": {
+ "$ref": "./examples/Threads_CreateChatThread.json"
+ },
+ "Create chat thread with repeatability request id header": {
+ "$ref": "./examples/Threads_CreateChatThreadWithIdempotencyToken.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets the list of chat threads of a user.",
+ "operationId": "Chat_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 RFC3339 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/ChatThreadsItemCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "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": "ChatThread_UpdateChatThreadProperties",
+ "consumes": [
+ "application/merge-patch+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": "updateChatThreadRequest",
+ "description": "Request payload for updating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Thread was successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update chat thread topic": {
+ "$ref": "./examples/Threads_UpdateChatThreadTopic.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets a chat thread's properties.",
+ "operationId": "ChatThread_GetChatThreadProperties",
+ "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. The action returns a chat thread.",
+ "schema": {
+ "$ref": "#/definitions/ChatThreadProperties"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get chat thread": {
+ "$ref": "./examples/Threads_GetChatThread.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Deletes a thread.",
+ "operationId": "Chat_DeleteChatThread",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Delete chat thread": {
+ "$ref": "./examples/Threads_DeleteChatThread.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationUserIdentifierModel": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationUserIdentifierModel"
+ },
+ "CommunicationCloudEnvironment": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationCloudEnvironmentModel"
+ },
+ "MicrosoftTeamsUserIdentifierModel": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/MicrosoftTeamsUserIdentifierModel"
+ },
+ "CommunicationIdentifierModel": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationIdentifierModel"
+ },
+ "ChatMessageReadReceipt": {
+ "description": "A chat message read receipt indicates the time a chat message was read by a recipient.",
+ "required": [
+ "chatMessageId",
+ "readOn",
+ "senderCommunicationIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "chatMessageId": {
+ "description": "Id of the chat message that has been read. This id is generated by the server.",
+ "type": "string",
+ "example": "1591137790240"
+ },
+ "readOn": {
+ "format": "date-time",
+ "description": "The time at which the message was read. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatMessageReadReceiptsCollection": {
+ "description": "A paged collection of chat message read receipts.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat message read receipts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatMessageReadReceipt"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat message read receipts that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CommunicationError": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationError"
+ },
+ "CommunicationErrorResponse": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "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"
+ }
+ }
+ },
+ "ChatMessageType": {
+ "description": "The chat message type.",
+ "enum": [
+ "text",
+ "html",
+ "topicUpdated",
+ "participantAdded",
+ "participantRemoved"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ChatMessageType",
+ "modelAsString": true
+ }
+ },
+ "SendChatMessageRequest": {
+ "description": "Details of the message to send.",
+ "required": [
+ "content"
+ ],
+ "type": "object",
+ "properties": {
+ "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"
+ },
+ "type": {
+ "$ref": "#/definitions/ChatMessageType"
+ },
+ "properties": {
+ "description": "Message properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SendChatMessageResult": {
+ "description": "Result of the send message operation.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "A server-generated message id.",
+ "type": "string",
+ "example": "123456789"
+ }
+ }
+ },
+ "ChatParticipant": {
+ "description": "A participant of the chat thread.",
+ "required": [
+ "communicationIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "communicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "displayName": {
+ "description": "Display name for the chat participant.",
+ "type": "string",
+ "example": "Bob"
+ },
+ "shareHistoryTime": {
+ "format": "date-time",
+ "description": "Time from which the chat history is shared with the participant. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatMessageContent": {
+ "description": "Content of a chat message.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Chat message content for messages of types text or html.",
+ "type": "string",
+ "example": "Come one guys, lets go for lunch together."
+ },
+ "topic": {
+ "description": "Chat message content for messages of type topicUpdated.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "participants": {
+ "description": "Chat message content for messages of types participantAdded or participantRemoved.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ },
+ "initiatorCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ }
+ }
+ },
+ "ChatMessage": {
+ "description": "Chat message.",
+ "required": [
+ "createdOn",
+ "id",
+ "sequenceId",
+ "type",
+ "version"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the chat message. This id is server generated.",
+ "type": "string",
+ "example": "123456789"
+ },
+ "type": {
+ "$ref": "#/definitions/ChatMessageType"
+ },
+ "sequenceId": {
+ "description": "Sequence of the chat message in the conversation.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the chat message.",
+ "type": "string"
+ },
+ "content": {
+ "$ref": "#/definitions/ChatMessageContent"
+ },
+ "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 RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp (if applicable) when the message was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "editedOn": {
+ "format": "date-time",
+ "description": "The last timestamp (if applicable) when the message was edited. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "properties": {
+ "description": "Properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ChatMessagesCollection": {
+ "description": "Collection of chat messages for a particular chat thread.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat messages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatMessage"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat messages that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatMessageRequest": {
+ "description": "Request payload for updating a chat message.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "Chat message content.",
+ "type": "string",
+ "example": "Let's go for lunch together."
+ },
+ "properties": {
+ "description": "Message properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ChatParticipantsCollection": {
+ "description": "Collection of participants belong to a particular thread.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Chat participants.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat participants that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AddChatParticipantsRequest": {
+ "description": "Participants to be added to the thread.",
+ "required": [
+ "participants"
+ ],
+ "type": "object",
+ "properties": {
+ "participants": {
+ "description": "Participants to add to a chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ }
+ }
+ },
+ "AddChatParticipantsResult": {
+ "description": "Result of the add chat participants operation.",
+ "type": "object",
+ "properties": {
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "CreateChatThreadRequest": {
+ "description": "Request payload for creating a chat thread.",
+ "required": [
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "The chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ },
+ "participants": {
+ "description": "Participants to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ }
+ }
+ },
+ "ChatThreadProperties": {
+ "description": "Chat thread.",
+ "required": [
+ "createdByCommunicationIdentifier",
+ "createdOn",
+ "id",
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "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 RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "createdByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "CreateChatThreadResult": {
+ "description": "Result of the create chat thread operation.",
+ "type": "object",
+ "properties": {
+ "chatThread": {
+ "$ref": "#/definitions/ChatThreadProperties"
+ },
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ChatThreadItem": {
+ "description": "Summary information of a chat thread.",
+ "required": [
+ "id",
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "example": "19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2"
+ },
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "lastMessageReceivedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the last message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "readOnly": true,
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatThreadsItemCollection": {
+ "description": "Collection of chat threads.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat threads.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadItem"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat threads that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatThreadRequest": {
+ "description": "Request payload for updating a chat thread.",
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ }
+ }
+ }
+ },
+ "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/2021-04-05-preview6/examples/Conversations_ListChatReadReceiptsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Conversations_ListChatReadReceiptsWithPageSize.json
new file mode 100644
index 000000000000..9386c3cf4fb7
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Conversations_ListChatReadReceiptsWithPageSize.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "maxPageSize": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "chatMessageId": "1591137790240",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "chatMessageId": "1591768249318",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/readReceipts?skip=2&maxPageSize=2&api-version=2021-04-05-preview6"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Conversations_SendChatReadReceipt.json
new file mode 100644
index 000000000000..5697ceb4b422
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Conversations_SendChatReadReceipt.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendReadReceiptRequest": {
+ "chatMessageId": "1591137790240"
+ }
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_DeleteChatMessage.json
new file mode 100644
index 000000000000..7392dbd0ce13
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_DeleteChatMessage.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_GetChatMessage.json
new file mode 100644
index 000000000000..a0148a7fdc2b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_GetChatMessage.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "1591768249318",
+ "sequenceId": "1",
+ "type": "text",
+ "version": "1599016601134",
+ "content": {
+ "message": "Let's head out for lunch in 15 minutes."
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-10T05:50:49.3180000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_ListChatMessagesWithPageSize.json
new file mode 100644
index 000000000000..8be72a33e4d0
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_ListChatMessagesWithPageSize.json
@@ -0,0 +1,157 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "19:453dafb77b26481ea2e73bcada0324af@thread.v2",
+ "maxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "1593107077690",
+ "type": "text",
+ "version": "1593107077683",
+ "sequenceId": "5",
+ "content": {
+ "message": "So where should we get lunch from today?"
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593107077683",
+ "type": "text",
+ "sequenceId": "4",
+ "version": "1593107077683",
+ "content": {
+ "message": "Let's use this chat to decide what to get for lunch today."
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593107046498",
+ "type": "text",
+ "sequenceId": "3",
+ "version": "1593107046498",
+ "content": {
+ "message": "Good morning everyone!"
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:06.4980000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593106976785",
+ "type": "topicUpdated",
+ "sequenceId": "2",
+ "version": "1593106976785",
+ "content": {
+ "initiatorCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "topic": "Lunch"
+ },
+ "createdOn": "2020-06-25T17:42:56.7850000Z"
+ },
+ {
+ "id": "1593106976753",
+ "type": "participantAdded",
+ "version": "1593106976753",
+ "sequenceId": "1",
+ "content": {
+ "initiatorCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ }
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d"
+ }
+ }
+ }
+ ]
+ },
+ "createdOn": "2020-06-25T17:42:56.7530000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/messages?syncState=3e4700000031393a756e6930315f7a626e68336e74326466756666657a6333736f7837646f67377766686b36793571653272776c6e66686c68647a69726968647071407468726561642e763201451fe6e77201000004357fea72010000&startTime=0&maxPageSize=5&api-version=2021-04-05-preview6"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_SendChatMessage.json
new file mode 100644
index 000000000000..3c37cb69139c
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_SendChatMessage.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendChatMessageRequest": {
+ "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": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_SendTypingNotification.json
new file mode 100644
index 000000000000..c49f8efc76e7
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_SendTypingNotification.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_UpdateChatMessage.json
new file mode 100644
index 000000000000..b65428806bf6
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Messages_UpdateChatMessage.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "content-type": "application/merge-patch+json",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318",
+ "updateChatMessageRequest": {
+ "content": "Updated message content"
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Participants_AddChatParticipants.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Participants_AddChatParticipants.json
new file mode 100644
index 000000000000..2c5550f803f9
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Participants_AddChatParticipants.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "addChatParticipantsRequest": {
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Peter",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ },
+ "displayName": "Rama",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Participants_ListChatParticipantsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Participants_ListChatParticipantsWithPageSize.json
new file mode 100644
index 000000000000..822ef846c3e8
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Participants_ListChatParticipantsWithPageSize.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "maxPageSize": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Jane",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/participants?skip=2&maxPageSize=2&api-version=2021-04-05-preview6"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Participants_RemoveChatParticipant.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Participants_RemoveChatParticipant.json
new file mode 100644
index 000000000000..89802e325387
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Participants_RemoveChatParticipant.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_CreateChatThread.json
new file mode 100644
index 000000000000..1632996cfa2a
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_CreateChatThread.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "createChatThreadRequest": {
+ "topic": "Lunch",
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Jane"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ },
+ "displayName": "Bob"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d"
+ }
+ },
+ "displayName": "Peter"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "body": {
+ "chatThread": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ }
+ },
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_CreateChatThreadWithIdempotencyToken.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_CreateChatThreadWithIdempotencyToken.json
new file mode 100644
index 000000000000..4bd465bfb78e
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_CreateChatThreadWithIdempotencyToken.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "idempotency-token": "35dd6e71-251b-5e29-8376-ba93d09c3fbf",
+ "createChatThreadRequest": {
+ "topic": "Lunch",
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Jane"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ },
+ "displayName": "Bob"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d"
+ }
+ },
+ "displayName": "Peter"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "body": {
+ "chatThread": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ }
+ },
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_DeleteChatThread.json
new file mode 100644
index 000000000000..21f2d9b6d6f2
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_DeleteChatThread.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "19:9525281ac1f947fc884bcee1a9f983c2@thread.v2"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_GetChatThread.json
new file mode 100644
index 000000000000..bc0611625ca8
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_GetChatThread.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_ListChatThreadsWithPageSize.json
new file mode 100644
index 000000000000..6698ae1b3a48
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_ListChatThreadsWithPageSize.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-04-05-preview6",
+ "maxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Chat with Samantha",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:a0dfe5fc10e04a7f8d8a64d455f4196d@thread.v2",
+ "topic": "Presentation Brainstorming",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_n242d2bzammtwxiib7pbjtozeevjqzavzn654ku3dajocexfo2na@thread.v2",
+ "topic": "Chat with Alex",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:0062022a28be4e0983734f7e45cd8566@thread.v2",
+ "topic": "Lunch",
+ "deletedOn": "2020-07-07T05:55:41.6460000Z",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpe@thread.v2",
+ "topic": "Chat with Bob",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads?syncState=W3sic3RhcnQiOiIyMDIwLTA2LTIzVDIzOjMyOjQ3LjMwNSswMDowMCIsImVuZCI6IjIwMjAtMDYtMjVUMDY6NTY6MjMuNjk2KzAwOjAwIn0seyJzdGFydCI6IjE5NzAtMDEtMDFUMDA6MDA6MDArMDA6MDAiLCJlbmQiOiIxOTcwLTAxLTAxVDAwOjAwOjAwKzAwOjAwIn1d&api-version=2021-04-05-preview6&maxPageSize=5"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_UpdateChatThreadTopic.json
new file mode 100644
index 000000000000..854159ac7dfc
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/preview/2021-04-05-preview6/examples/Threads_UpdateChatThreadTopic.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "content-type": "application/merge-patch+json",
+ "api-version": "2021-04-05-preview6",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "updateChatThreadRequest": {
+ "topic": "Updated Thread Topic"
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/readme.csharp.md b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/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/Microsoft.CommunicationServicesChat/readme.md b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/readme.md
new file mode 100644
index 000000000000..89fa036f60b8
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/readme.md
@@ -0,0 +1,121 @@
+# 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-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:
+ - preview/2020-09-21-preview2/communicationserviceschat.json
+title:
+ Azure Communication Services
+```
+
+### Tag: package-2020-11-01-preview3
+
+These settings apply only when `--tag=package-2020-11-01-preview3` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-11-01-preview3'
+input-file:
+ - preview/2020-11-01-preview3/communicationserviceschat.json
+title:
+ Azure Communication Services
+```
+
+### Tag: package-2021-01-27-preview4
+
+These settings apply only when `--tag=package-2021-01-27-preview4` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-01-27-preview4'
+input-file:
+ - preview/2021-01-27-preview4/communicationserviceschat.json
+title:
+ Azure Communication Services
+```
+
+### Tag: package-2021-03-01-preview5
+
+These settings apply only when `--tag=package-2021-03-01-preview5` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-03-01-preview5'
+input-file:
+ - preview/2021-03-01-preview5/communicationserviceschat.json
+title:
+ Azure Communication Services
+```
+
+### Tag: package-chat-2021-03-07
+
+These settings apply only when `--tag=package-chat-2021-03-07` is specified on the command line.
+
+```yaml $(tag) == 'package-chat-2021-03-07'
+input-file:
+ - stable/2021-03-07/communicationserviceschat.json
+title:
+ Azure Communication Services
+```
+
+### Tag: package-chat-2021-04-05-preview6
+
+These settings apply only when `--tag=package-2021-04-05-preview6` is specified on the command line.
+
+```yaml $(tag) == 'package-chat-2021-04-05-preview6'
+input-file:
+ - preview/2021-04-05-preview6/communicationserviceschat.json
+title:
+ Azure Communication Services
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/readme.python.md b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/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/Microsoft.CommunicationServicesChat/readme.ruby.md b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/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/Microsoft.CommunicationServicesChat/readme.typescript.md b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "communicationservices"
+ output-folder: "$(typescript-sdks-folder)/packages/communicationservices"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/communicationserviceschat.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/communicationserviceschat.json
new file mode 100644
index 000000000000..9d880c5bf71e
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/communicationserviceschat.json
@@ -0,0 +1,1690 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication Chat Service",
+ "description": "Azure Communication Chat Service",
+ "version": "2021-03-07"
+ },
+ "paths": {
+ "/chat/threads/{chatThreadId}/readReceipts": {
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets chat message read receipts for a thread.",
+ "operationId": "ChatThread_ListChatReadReceipts",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get the chat message read receipts for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of chat message read receipts to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "Skips chat message read receipts up to a specified position in response.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the requested `ChatMessageReadReceipt` resources.",
+ "schema": {
+ "$ref": "#/definitions/ChatMessageReadReceiptsCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get thread read receipts with pagination (max page size)": {
+ "$ref": "./examples/Conversations_ListChatReadReceiptsWithPageSize.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": "ChatThread_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": "sendReadReceiptRequest",
+ "description": "Read receipt details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SendReadReceiptRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send read receipt": {
+ "$ref": "./examples/Conversations_SendChatReadReceipt.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/messages": {
+ "post": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Sends a message to a thread.",
+ "operationId": "ChatThread_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": "sendChatMessageRequest",
+ "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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Send Message": {
+ "$ref": "./examples/Messages_SendChatMessage.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Gets a list of messages from a thread.",
+ "operationId": "ChatThread_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 RFC3339 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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "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": "ChatThread_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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Message": {
+ "$ref": "./examples/Messages_GetChatMessage.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Updates a message.",
+ "operationId": "ChatThread_UpdateChatMessage",
+ "consumes": [
+ "application/merge-patch+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": "updateChatMessageRequest",
+ "description": "Details of the request to update the message.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatMessageRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Message is successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update message content": {
+ "$ref": "./examples/Messages_UpdateChatMessage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Messages"
+ ],
+ "summary": "Deletes a message.",
+ "operationId": "ChatThread_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/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "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": "ChatThread_SendTypingNotification",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Post typing event to a thread": {
+ "$ref": "./examples/Messages_SendTypingNotification.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants": {
+ "get": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Gets the participants of a thread.",
+ "operationId": "ChatThread_ListChatParticipants",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to get participants for.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "query",
+ "name": "maxPageSize",
+ "description": "The maximum number of participants to be returned per page.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "Skips participants up to a specified position in response.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The action returns the participants of a thread.",
+ "schema": {
+ "$ref": "#/definitions/ChatParticipantsCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get participants with pagination (max page size)": {
+ "$ref": "./examples/Participants_ListChatParticipantsWithPageSize.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants/:remove": {
+ "post": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Remove a participant from a thread.",
+ "operationId": "ChatThread_RemoveChatParticipant",
+ "consumes": [
+ "application/json",
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Thread id to remove the participant from.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "participantCommunicationIdentifier",
+ "description": "Id of the thread participant to remove from the thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Remove participant": {
+ "$ref": "./examples/Participants_RemoveChatParticipant.json"
+ }
+ }
+ }
+ },
+ "/chat/threads/{chatThreadId}/participants/:add": {
+ "post": {
+ "tags": [
+ "Participants"
+ ],
+ "summary": "Adds thread participants to a thread. If participants already exist, no change occurs.",
+ "operationId": "ChatThread_AddChatParticipants",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread to add participants to.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "addChatParticipantsRequest",
+ "description": "Thread participants to be added to the thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddChatParticipantsRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The participants were successfully added.",
+ "schema": {
+ "$ref": "#/definitions/AddChatParticipantsResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Add participants": {
+ "$ref": "./examples/Participants_AddChatParticipants.json"
+ }
+ }
+ }
+ },
+ "/chat/threads": {
+ "post": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Creates a chat thread.",
+ "operationId": "Chat_CreateChatThread",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "header",
+ "name": "repeatability-request-id",
+ "description": "If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-Id and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-Id is an opaque string representing a client-generated, globally unique for all time, identifier for the request. It is recommended to use version 4 (random) UUIDs.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "createChatThreadRequest",
+ "description": "Request payload for creating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Thread created, the `Location` header would contain the URL for the newly created thread.",
+ "schema": {
+ "$ref": "#/definitions/CreateChatThreadResult"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Create chat thread": {
+ "$ref": "./examples/Threads_CreateChatThread.json"
+ },
+ "Create chat thread with repeatability request id header": {
+ "$ref": "./examples/Threads_CreateChatThreadWithIdempotencyToken.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets the list of chat threads of a user.",
+ "operationId": "Chat_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 RFC3339 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/ChatThreadsItemCollection"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "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": "ChatThread_UpdateChatThreadProperties",
+ "consumes": [
+ "application/merge-patch+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": "updateChatThreadRequest",
+ "description": "Request payload for updating a chat thread.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateChatThreadRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Thread was successfully updated."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Update chat thread topic": {
+ "$ref": "./examples/Threads_UpdateChatThreadTopic.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Gets a chat thread's properties.",
+ "operationId": "ChatThread_GetChatThreadProperties",
+ "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. The action returns a chat thread.",
+ "schema": {
+ "$ref": "#/definitions/ChatThreadProperties"
+ }
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get chat thread": {
+ "$ref": "./examples/Threads_GetChatThread.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Threads"
+ ],
+ "summary": "Deletes a thread.",
+ "operationId": "Chat_DeleteChatThread",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "chatThreadId",
+ "description": "Id of the thread to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful."
+ },
+ "401": {
+ "description": "Unauthorized.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "403": {
+ "description": "Forbidden.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Service unavailable.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationErrorResponse"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Delete chat thread": {
+ "$ref": "./examples/Threads_DeleteChatThread.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationUserIdentifierModel": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationUserIdentifierModel"
+ },
+ "CommunicationCloudEnvironment": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationCloudEnvironmentModel"
+ },
+ "MicrosoftTeamsUserIdentifierModel": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/MicrosoftTeamsUserIdentifierModel"
+ },
+ "CommunicationIdentifierModel": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationIdentifierModel"
+ },
+ "ChatMessageReadReceipt": {
+ "description": "A chat message read receipt indicates the time a chat message was read by a recipient.",
+ "required": [
+ "chatMessageId",
+ "readOn",
+ "senderCommunicationIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "chatMessageId": {
+ "description": "Id of the chat message that has been read. This id is generated by the server.",
+ "type": "string",
+ "example": "1591137790240"
+ },
+ "readOn": {
+ "format": "date-time",
+ "description": "The time at which the message was read. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatMessageReadReceiptsCollection": {
+ "description": "A paged collection of chat message read receipts.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat message read receipts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatMessageReadReceipt"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat message read receipts that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CommunicationError": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationError"
+ },
+ "CommunicationErrorResponse": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ },
+ "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"
+ }
+ }
+ },
+ "ChatMessageType": {
+ "description": "The chat message type.",
+ "enum": [
+ "text",
+ "html",
+ "topicUpdated",
+ "participantAdded",
+ "participantRemoved"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ChatMessageType",
+ "modelAsString": true
+ }
+ },
+ "SendChatMessageRequest": {
+ "description": "Details of the message to send.",
+ "required": [
+ "content"
+ ],
+ "type": "object",
+ "properties": {
+ "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"
+ },
+ "type": {
+ "$ref": "#/definitions/ChatMessageType"
+ }
+ }
+ },
+ "SendChatMessageResult": {
+ "description": "Result of the send message operation.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "A server-generated message id.",
+ "type": "string",
+ "example": "123456789"
+ }
+ }
+ },
+ "ChatParticipant": {
+ "description": "A participant of the chat thread.",
+ "required": [
+ "communicationIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "communicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "displayName": {
+ "description": "Display name for the chat participant.",
+ "type": "string",
+ "example": "Bob"
+ },
+ "shareHistoryTime": {
+ "format": "date-time",
+ "description": "Time from which the chat history is shared with the participant. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatMessageContent": {
+ "description": "Content of a chat message.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Chat message content for messages of types text or html.",
+ "type": "string",
+ "example": "Come one guys, lets go for lunch together."
+ },
+ "topic": {
+ "description": "Chat message content for messages of type topicUpdated.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "participants": {
+ "description": "Chat message content for messages of types participantAdded or participantRemoved.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ },
+ "initiatorCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ }
+ }
+ },
+ "ChatMessage": {
+ "description": "Chat message.",
+ "required": [
+ "createdOn",
+ "id",
+ "sequenceId",
+ "type",
+ "version"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the chat message. This id is server generated.",
+ "type": "string",
+ "example": "123456789"
+ },
+ "type": {
+ "$ref": "#/definitions/ChatMessageType"
+ },
+ "sequenceId": {
+ "description": "Sequence of the chat message in the conversation.",
+ "type": "string"
+ },
+ "version": {
+ "description": "Version of the chat message.",
+ "type": "string"
+ },
+ "content": {
+ "$ref": "#/definitions/ChatMessageContent"
+ },
+ "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 RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "senderCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp (if applicable) when the message was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "editedOn": {
+ "format": "date-time",
+ "description": "The last timestamp (if applicable) when the message was edited. The timestamp is in RFC3339 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.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat messages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatMessage"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat messages that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatMessageRequest": {
+ "description": "Request payload for updating a chat message.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "Chat message content.",
+ "type": "string",
+ "example": "Let's go for lunch together."
+ }
+ }
+ },
+ "ChatParticipantsCollection": {
+ "description": "Collection of participants belong to a particular thread.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Chat participants.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat participants that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AddChatParticipantsRequest": {
+ "description": "Participants to be added to the thread.",
+ "required": [
+ "participants"
+ ],
+ "type": "object",
+ "properties": {
+ "participants": {
+ "description": "Participants to add to a chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ }
+ }
+ },
+ "AddChatParticipantsResult": {
+ "description": "Result of the add chat participants operation.",
+ "type": "object",
+ "properties": {
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "CreateChatThreadRequest": {
+ "description": "Request payload for creating a chat thread.",
+ "required": [
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "The chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ },
+ "participants": {
+ "description": "Participants to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatParticipant"
+ }
+ }
+ }
+ },
+ "ChatThreadProperties": {
+ "description": "Chat thread.",
+ "required": [
+ "createdByCommunicationIdentifier",
+ "createdOn",
+ "id",
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "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 RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "createdByCommunicationIdentifier": {
+ "$ref": "#/definitions/CommunicationIdentifierModel"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "CreateChatThreadResult": {
+ "description": "Result of the create chat thread operation.",
+ "type": "object",
+ "properties": {
+ "chatThread": {
+ "$ref": "#/definitions/ChatThreadProperties"
+ },
+ "invalidParticipants": {
+ "description": "The participants that failed to be added to the chat thread.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationError"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ChatThreadItem": {
+ "description": "Summary information of a chat thread.",
+ "required": [
+ "id",
+ "topic"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Chat thread id.",
+ "type": "string",
+ "example": "19:uni01_uy5ucb66ugp3lrhe7pxso6xx4hsmm3dl6eyjfefv2n6x3rrurpea@thread.v2"
+ },
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Chat thread"
+ },
+ "deletedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the chat thread was deleted. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "example": "2020-10-30T10:50:50Z"
+ },
+ "lastMessageReceivedOn": {
+ "format": "date-time",
+ "description": "The timestamp when the last message arrived at the server. The timestamp is in RFC3339 format: `yyyy-MM-ddTHH:mm:ssZ`.",
+ "type": "string",
+ "readOnly": true,
+ "example": "2020-10-30T10:50:50Z"
+ }
+ }
+ },
+ "ChatThreadsItemCollection": {
+ "description": "Collection of chat threads.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of chat threads.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ChatThreadItem"
+ }
+ },
+ "nextLink": {
+ "description": "If there are more chat threads that can be retrieved, the next link will be populated.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateChatThreadRequest": {
+ "description": "Request payload for updating a chat thread.",
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "Chat thread topic.",
+ "type": "string",
+ "example": "Lunch Thread"
+ }
+ }
+ }
+ },
+ "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/stable/2021-03-07/examples/Conversations_ListChatReadReceiptsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Conversations_ListChatReadReceiptsWithPageSize.json
new file mode 100644
index 000000000000..5fb65c3e97be
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Conversations_ListChatReadReceiptsWithPageSize.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "maxPageSize": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "chatMessageId": "1591137790240",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "chatMessageId": "1591768249318",
+ "readOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/readReceipts?skip=2&maxPageSize=2&api-version=2021-03-07"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Conversations_SendChatReadReceipt.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Conversations_SendChatReadReceipt.json
new file mode 100644
index 000000000000..b505a8d48088
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Conversations_SendChatReadReceipt.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendReadReceiptRequest": {
+ "chatMessageId": "1591137790240"
+ }
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_DeleteChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_DeleteChatMessage.json
new file mode 100644
index 000000000000..1191655f34ba
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_DeleteChatMessage.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_GetChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_GetChatMessage.json
new file mode 100644
index 000000000000..f4a565e64394
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_GetChatMessage.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "1591768249318",
+ "sequenceId": "1",
+ "type": "text",
+ "version": "1599016601134",
+ "content": {
+ "message": "Let's head out for lunch in 15 minutes."
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-10T05:50:49.3180000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_ListChatMessagesWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_ListChatMessagesWithPageSize.json
new file mode 100644
index 000000000000..3d2a1c4c3350
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_ListChatMessagesWithPageSize.json
@@ -0,0 +1,157 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "19:453dafb77b26481ea2e73bcada0324af@thread.v2",
+ "maxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "1593107077690",
+ "type": "text",
+ "version": "1593107077683",
+ "sequenceId": "5",
+ "content": {
+ "message": "So where should we get lunch from today?"
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593107077683",
+ "type": "text",
+ "sequenceId": "4",
+ "version": "1593107077683",
+ "content": {
+ "message": "Let's use this chat to decide what to get for lunch today."
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:37.6830000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593107046498",
+ "type": "text",
+ "sequenceId": "3",
+ "version": "1593107046498",
+ "content": {
+ "message": "Good morning everyone!"
+ },
+ "senderDisplayName": "Jane",
+ "createdOn": "2020-06-25T17:44:06.4980000Z",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "id": "1593106976785",
+ "type": "topicUpdated",
+ "sequenceId": "2",
+ "version": "1593106976785",
+ "content": {
+ "initiatorCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "topic": "Lunch"
+ },
+ "createdOn": "2020-06-25T17:42:56.7850000Z"
+ },
+ {
+ "id": "1593106976753",
+ "type": "participantAdded",
+ "version": "1593106976753",
+ "sequenceId": "1",
+ "content": {
+ "initiatorCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ }
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d"
+ }
+ }
+ }
+ ]
+ },
+ "createdOn": "2020-06-25T17:42:56.7530000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/messages?syncState=3e4700000031393a756e6930315f7a626e68336e74326466756666657a6333736f7837646f67377766686b36793571653272776c6e66686c68647a69726968647071407468726561642e763201451fe6e77201000004357fea72010000&startTime=0&maxPageSize=5&api-version=2021-03-07"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_SendChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_SendChatMessage.json
new file mode 100644
index 000000000000..83dcc18fc952
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_SendChatMessage.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "sendChatMessageRequest": {
+ "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": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_SendTypingNotification.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_SendTypingNotification.json
new file mode 100644
index 000000000000..4696afc1f66e
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_SendTypingNotification.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_UpdateChatMessage.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_UpdateChatMessage.json
new file mode 100644
index 000000000000..179dc57bee1d
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Messages_UpdateChatMessage.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "content-type": "application/merge-patch+json",
+ "api-version": "2021-03-07",
+ "chatThreadId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "chatMessageId": "1591768249318",
+ "updateChatMessageRequest": {
+ "content": "Updated message content"
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Participants_AddChatParticipants.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Participants_AddChatParticipants.json
new file mode 100644
index 000000000000..368397462927
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Participants_AddChatParticipants.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "addChatParticipantsRequest": {
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Peter",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ },
+ "displayName": "Rama",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Participants_ListChatParticipantsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Participants_ListChatParticipantsWithPageSize.json
new file mode 100644
index 000000000000..cad3c8837aa7
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Participants_ListChatParticipantsWithPageSize.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "maxPageSize": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Jane",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex",
+ "shareHistoryTime": "2020-06-06T05:55:41Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads/19:453dafb77b26481ea2e73bcada0324af@thread.v2/participants?skip=2&maxPageSize=2&api-version=2021-03-07"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Participants_RemoveChatParticipant.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Participants_RemoveChatParticipant.json
new file mode 100644
index 000000000000..78d56f1fbe1a
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Participants_RemoveChatParticipant.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "19:f2167429acf6482880c6b7790a9086c1@thread.v2",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_CreateChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_CreateChatThread.json
new file mode 100644
index 000000000000..c70d938d26a2
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_CreateChatThread.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "createChatThreadRequest": {
+ "topic": "Lunch",
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Jane"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ },
+ "displayName": "Bob"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d"
+ }
+ },
+ "displayName": "Peter"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "body": {
+ "chatThread": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ }
+ },
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_CreateChatThreadWithIdempotencyToken.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_CreateChatThreadWithIdempotencyToken.json
new file mode 100644
index 000000000000..bfd032aa4013
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_CreateChatThreadWithIdempotencyToken.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "idempotency-token": "35dd6e71-251b-5e29-8376-ba93d09c3fbf",
+ "createChatThreadRequest": {
+ "topic": "Lunch",
+ "participants": [
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ },
+ "displayName": "Jane"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ },
+ "displayName": "Alex"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c"
+ }
+ },
+ "displayName": "Bob"
+ },
+ {
+ "communicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d"
+ }
+ },
+ "displayName": "Peter"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "https://contoso.westus.communications.azure.com/chat/threads/19%3Auni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "body": {
+ "chatThread": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10a"
+ }
+ }
+ },
+ "invalidParticipants": [
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10c",
+ "code": "403",
+ "message": "Permissions check failed"
+ },
+ {
+ "target": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10d",
+ "code": "404",
+ "message": "Not found"
+ }
+ ]
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_DeleteChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_DeleteChatThread.json
new file mode 100644
index 000000000000..5ac0fa6b697b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_DeleteChatThread.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "19:9525281ac1f947fc884bcee1a9f983c2@thread.v2"
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_GetChatThread.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_GetChatThread.json
new file mode 100644
index 000000000000..d4dfad2644b1
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_GetChatThread.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Lunch",
+ "createdOn": "2020-06-06T05:55:41.6460000Z",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b",
+ "communicationUser": {
+ "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_0e59221d-0c1d-46ae-9544-c963ce56c10b"
+ }
+ }
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_ListChatThreadsWithPageSize.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_ListChatThreadsWithPageSize.json
new file mode 100644
index 000000000000..77962edadd53
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_ListChatThreadsWithPageSize.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "api-version": "2021-03-07",
+ "maxPageSize": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "topic": "Chat with Samantha",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:a0dfe5fc10e04a7f8d8a64d455f4196d@thread.v2",
+ "topic": "Presentation Brainstorming",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_n242d2bzammtwxiib7pbjtozeevjqzavzn654ku3dajocexfo2na@thread.v2",
+ "topic": "Chat with Alex",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:0062022a28be4e0983734f7e45cd8566@thread.v2",
+ "topic": "Lunch",
+ "deletedOn": "2020-07-07T05:55:41.6460000Z",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ },
+ {
+ "id": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpe@thread.v2",
+ "topic": "Chat with Bob",
+ "lastMessageReceivedOn": "2020-06-06T05:55:41.6460000Z"
+ }
+ ],
+ "nextLink": "https://contoso.westus.communications.azure.com/chat/threads?syncState=W3sic3RhcnQiOiIyMDIwLTA2LTIzVDIzOjMyOjQ3LjMwNSswMDowMCIsImVuZCI6IjIwMjAtMDYtMjVUMDY6NTY6MjMuNjk2KzAwOjAwIn0seyJzdGFydCI6IjE5NzAtMDEtMDFUMDA6MDA6MDArMDA6MDAiLCJlbmQiOiIxOTcwLTAxLTAxVDAwOjAwOjAwKzAwOjAwIn1d&api-version=2021-03-07&maxPageSize=5"
+ }
+ },
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_UpdateChatThreadTopic.json b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_UpdateChatThreadTopic.json
new file mode 100644
index 000000000000..3f184ec3f16f
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesChat/stable/2021-03-07/examples/Threads_UpdateChatThreadTopic.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "endpoint": "https://contoso.westus.communications.azure.com",
+ "content-type": "application/merge-patch+json",
+ "api-version": "2021-03-07",
+ "chatThreadId": "19:uni01_zbnh3nt2dfuffezc3sox7dog7wfhk6y5qe2rwlnfhlhdzirihdpq@thread.v2",
+ "updateChatThreadRequest": {
+ "topic": "Updated Thread Topic"
+ }
+ },
+ "responses": {
+ "204": {},
+ "401": {
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "Request is not authorized."
+ }
+ }
+ },
+ "403": {
+ "body": {
+ "error": {
+ "code": "Forbidden",
+ "message": "User is not allowed to perform specified action."
+ }
+ }
+ },
+ "429": {
+ "body": {
+ "error": {
+ "code": "TooManyRequests",
+ "message": "Rate limit exceeded."
+ }
+ }
+ },
+ "503": {
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "The server is currently unable to handle the request."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/readme.csharp.md b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/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/Microsoft.CommunicationServicesCommon/readme.md b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/readme.md
new file mode 100644
index 000000000000..1acbf9c0e495
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/readme.md
@@ -0,0 +1,73 @@
+# 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-common-2020-11-19-preview1
+
+These settings apply only when `--tag=package-common-2020-11-19-preview1` is specified on the command line.
+
+```yaml $(tag) == 'package-common-2020-11-19-preview1'
+input-file:
+ - preview/2020-11-19-preview1/common.json
+```
+
+### Tag: package-2021-03-07-stable
+These settings apply only when `--tag=package-2021-03-07-stable` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-11-19-preview1'
+input-file:
+ - stable/2021-03-07/common.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/Microsoft.CommunicationServicesCommon/readme.python.md b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/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/Microsoft.CommunicationServicesCommon/readme.ruby.md b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/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/Microsoft.CommunicationServicesCommon/readme.typescript.md b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesCommon/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "communicationservices"
+ output-folder: "$(typescript-sdks-folder)/packages/communicationservices"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/readme.csharp.md b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/readme.csharp.md
new file mode 100644
index 000000000000..210c5e5fb22a
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/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: false
+ license-header: MICROSOFT_MIT_NO_VERSION
+ 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/Microsoft.CommunicationServicesIdentity/readme.md b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/readme.md
new file mode 100644
index 000000000000..109951097191
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/readme.md
@@ -0,0 +1,85 @@
+# 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-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:
+ - preview/2020-07-20-preview2/CommunicationIdentity.json
+```
+
+### Tag: package-2021-03-07
+
+These settings apply only when `--tag=package-2021-03-07` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-03-07'
+input-file:
+ - stable/2021-03-07/CommunicationIdentity.json
+title:
+ Azure Communication Services
+```
+
+### Tag: package-2021-02-22-preview1
+
+These settings apply only when `--tag=package-2021-02-22-preview1` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-02-22-preview1'
+input-file:
+ - preview/2021-02-22-preview1/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/Microsoft.CommunicationServicesIdentity/readme.python.md b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/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/Microsoft.CommunicationServicesIdentity/readme.ruby.md b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/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/Microsoft.CommunicationServicesIdentity/readme.typescript.md b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesIdentity/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "communicationservices"
+ output-folder: "$(typescript-sdks-folder)/packages/communicationservices"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/readme.csharp.md b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/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/Microsoft.CommunicationServicesPhoneNumbers/readme.md b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/readme.md
new file mode 100644
index 000000000000..69bedd68901b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/readme.md
@@ -0,0 +1,77 @@
+# 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-phonenumber-2021-03-07
+
+These settings apply only when `--tag=package-phonenumber-2021-03-07` is specified on the command line.
+
+```yaml $(tag) == 'package-phonenumber-2021-03-07'
+input-file:
+ - stable/2021-03-07/phonenumbers.json
+title:
+ Azure Communication Services
+```
+
+## Supression
+``` yaml
+directive:
+ - from:
+ - phonenumbers.json
+ suppress:
+ - R2005 #Long running operation status code
+ reason:
+ - Approval from Azure review board that Long Running Operations can return 202s.
+```
+
+---
+
+# 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/Microsoft.CommunicationServicesPhoneNumbers/readme.python.md b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/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/Microsoft.CommunicationServicesPhoneNumbers/readme.ruby.md b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/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/Microsoft.CommunicationServicesPhoneNumbers/readme.typescript.md b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "communicationservices"
+ output-folder: "$(typescript-sdks-folder)/packages/communicationservices"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/DeleteOperation.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/DeleteOperation.json
new file mode 100644
index 000000000000..8b7aa415b069
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/DeleteOperation.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2021-03-07",
+ "endpoint": "https://resourcename.communication.azure.com/",
+ "operationId": "search_my-operation-id"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetOperation.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetOperation.json
new file mode 100644
index 000000000000..1f4568fd1b96
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetOperation.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-03-07",
+ "endpoint": "https://resourcename.communication.azure.com/",
+ "operationId": "search-my-operation-id"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Location": "/availablePhoneNumbers/searchResults/378ddf60-81be-452a-ba4f-613198ea6c28"
+ },
+ "body": {
+ "status": "succeeded",
+ "resourceLocation": "",
+ "createdDateTime": "2020-11-19T16:31:49.048Z",
+ "id": "search-my-operation-id",
+ "operationType": "search",
+ "lastActionDateTime": "2020-11-19T22:31:49.048Z"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetPhoneNumber.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetPhoneNumber.json
new file mode 100644
index 000000000000..ab3c6f51bcc6
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetPhoneNumber.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-03-07",
+ "endpoint": "https://resourcename.communication.azure.com/",
+ "phoneNumber": "+11234567890"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "11234567890",
+ "phoneNumber": "+11234567890",
+ "countryCode": "US",
+ "assignmentType": "user",
+ "phoneNumberType": "geographic",
+ "capabilities": {
+ "calling": "inbound+outbound",
+ "sms": "inbound"
+ },
+ "purchaseDate": "2020-11-19T16:31:49.048Z",
+ "cost": {
+ "amount": 0.8,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetPhoneNumberSearchResult.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetPhoneNumberSearchResult.json
new file mode 100644
index 000000000000..c3468b2f8b53
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetPhoneNumberSearchResult.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-03-07",
+ "searchId": "378ddf60-81be-452a-ba4f-613198ea6c28",
+ "endpoint": "https://resourcename.communication.azure.com/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "searchId": "378ddf60-81be-452a-ba4f-613198ea6c28",
+ "phoneNumbers": [
+ "+18001212121"
+ ],
+ "phoneNumberType": "tollFree",
+ "assignmentType": "application",
+ "capabilities": {
+ "sms": "inbound+outbound",
+ "calling": "none"
+ },
+ "cost": {
+ "amount": 1.2,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ },
+ "searchExpiresBy": "2020-11-19T16:31:49.048Z"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetPhoneNumbers.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetPhoneNumbers.json
new file mode 100644
index 000000000000..92b9e1eee063
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/GetPhoneNumbers.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-03-07",
+ "endpoint": "https://resourcename.communication.azure.com/",
+ "phoneNumber": "+11234567890"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "phoneNumbers": [
+ {
+ "id": "11234567890",
+ "phoneNumber": "+11234567890",
+ "countryCode": "US",
+ "assignmentType": "user",
+ "phoneNumberType": "geographic",
+ "capabilities": {
+ "calling": "inbound+outbound",
+ "sms": "inbound"
+ },
+ "purchaseDate": "2020-11-19T16:31:49.048Z",
+ "cost": {
+ "amount": 0.8,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/PurchasePhoneNumbers.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/PurchasePhoneNumbers.json
new file mode 100644
index 000000000000..8885cfdb2973
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/PurchasePhoneNumbers.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-03-07",
+ "endpoint": "https://resourcename.communication.azure.com/",
+ "body": {
+ "searchId": "378ddf60-81be-452a-ba4f-613198ea6c28"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/phoneNumbers/operations/purchase_378ddf60-81be-452a-ba4f-613198ea6c28",
+ "operation-id": "purchase_378ddf60-81be-452a-ba4f-613198ea6c28",
+ "purchase-id": "378ddf60-81be-452a-ba4f-613198ea6c28"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/ReleasePhoneNumber.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/ReleasePhoneNumber.json
new file mode 100644
index 000000000000..9514610c1f89
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/ReleasePhoneNumber.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-03-07",
+ "phoneNumber": "+11234567890",
+ "endpoint": "https://resourcename.communication.azure.com/"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/phoneNumbers/operations/release_378ddf60-81be-452a-ba4f-613198ea6c28",
+ "operation-id": "release_378ddf60-81be-452a-ba4f-613198ea6c28",
+ "release-id": "378ddf60-81be-452a-ba4f-613198ea6c28"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/SearchPhoneNumbers.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/SearchPhoneNumbers.json
new file mode 100644
index 000000000000..20e5c220ef55
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/SearchPhoneNumbers.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-03-07",
+ "body": {
+ "phoneNumberType": "tollFree",
+ "assignmentType": "application",
+ "capabilities": {
+ "sms": "inbound+outbound",
+ "calling": "none"
+ },
+ "areaCode": "425",
+ "quantity": 1
+ },
+ "countryCode": "US",
+ "endpoint": "https://resourcename.communication.azure.com/"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/phoneNumbers/operations/search_378ddf60-81be-452a-ba4f-613198ea6c28",
+ "Location": "/availablePhoneNumbers/searchResults/378ddf60-81be-452a-ba4f-613198ea6c28",
+ "operation-id": "search_378ddf60-81be-452a-ba4f-613198ea6c28",
+ "search-id": "378ddf60-81be-452a-ba4f-613198ea6c28"
+ },
+ "body": {
+ "searchId": "378ddf60-81be-452a-ba4f-613198ea6c28",
+ "phoneNumbers": [
+ "+18001212121"
+ ],
+ "phoneNumberType": "tollFree",
+ "assignmentType": "application",
+ "capabilities": {
+ "sms": "inbound+outbound",
+ "calling": "none"
+ },
+ "cost": {
+ "amount": 1.2,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ },
+ "searchExpiresBy": "2020-11-19T16:31:49.048Z"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/UpdatePhoneNumberCapabilities.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/UpdatePhoneNumberCapabilities.json
new file mode 100644
index 000000000000..8c78283781f6
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/examples/UpdatePhoneNumberCapabilities.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-03-07",
+ "endpoint": "https://resourcename.communication.azure.com/",
+ "phoneNumber": "+14792000102",
+ "body": {
+ "calling": "inbound+outbound",
+ "sms": "none"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/phoneNumbers/operations/capabilities_378ddf60-81be-452a-ba4f-613198ea6c28",
+ "Location": "/phoneNumbers/%2b14792000102",
+ "operation-id": "capabilities_378ddf60-81be-452a-ba4f-613198ea6c28",
+ "capabilities-id": "378ddf60-81be-452a-ba4f-613198ea6c28"
+ },
+ "body": {
+ "id": "14792000102",
+ "phoneNumber": "+14792000102",
+ "countryCode": "US",
+ "assignmentType": "person",
+ "phoneNumberType": "geographic",
+ "capabilities": {
+ "calling": "inbound+outbound",
+ "sms": "none"
+ },
+ "purchaseDate": "2020-11-19T16:31:49.048Z",
+ "cost": {
+ "amount": 0.8,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/phonenumbers.json b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/phonenumbers.json
new file mode 100644
index 000000000000..2ebaac62c430
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesPhoneNumbers/stable/2021-03-07/phonenumbers.json
@@ -0,0 +1,914 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PhoneNumbersClient",
+ "description": "The phone numbers client uses Azure Communication Services to purchase and manage phone numbers.",
+ "version": "2021-03-07"
+ },
+ "paths": {
+ "/availablePhoneNumbers/countries/{countryCode}/:search": {
+ "post": {
+ "tags": [
+ "Find and purchase available phone numbers"
+ ],
+ "summary": "Search for available phone numbers to purchase.",
+ "operationId": "PhoneNumbers_SearchAvailablePhoneNumbers",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "countryCode",
+ "description": "The ISO 3166-2 country code, e.g. US.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The phone number search request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberSearchRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later. It will return 'Accepted' immediately and include an 'Operation-Location' and 'Location' headers. Client side should further query the operation status using the URL specified in 'Operation-Location' header. When operation completes successfully query final result using URL specified in 'Location' header.",
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberSearchResult"
+ },
+ "headers": {
+ "Location": {
+ "description": "URL to retrieve the final result after operation completes.",
+ "type": "string"
+ },
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ },
+ "operation-id": {
+ "description": "The operation id.",
+ "type": "string"
+ },
+ "search-id": {
+ "description": "The search operation id.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Search for phone numbers": {
+ "$ref": "./examples/SearchPhoneNumbers.json"
+ }
+ }
+ }
+ },
+ "/availablePhoneNumbers/searchResults/{searchId}": {
+ "get": {
+ "tags": [
+ "Find and purchase available phone numbers"
+ ],
+ "summary": "Gets a phone number search result by search id.",
+ "operationId": "PhoneNumbers_GetSearchResult",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "searchId",
+ "description": "The search Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberSearchResult"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get PhoneNumber Search Result": {
+ "$ref": "./examples/GetPhoneNumberSearchResult.json"
+ }
+ }
+ }
+ },
+ "/availablePhoneNumbers/:purchase": {
+ "post": {
+ "tags": [
+ "Find and purchase available phone numbers"
+ ],
+ "summary": "Purchases phone numbers.",
+ "operationId": "PhoneNumbers_PurchasePhoneNumbers",
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The phone number purchase request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberPurchaseRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later. It will return 'Accepted' immediately and include an 'Operation-Location' and 'Location' headers. Client side should further query the operation status using the URL specified in 'Operation-Location' header. When operation completes successfully query final result using URL specified in 'Location' header.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ },
+ "operation-id": {
+ "description": "The operation id.",
+ "type": "string"
+ },
+ "purchase-id": {
+ "description": "The purchase operation id.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Purchase phone numbers": {
+ "$ref": "./examples/PurchasePhoneNumbers.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ]
+ }
+ },
+ "/phoneNumbers/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "Long running operations"
+ ],
+ "summary": "Gets an operation by its id.",
+ "operationId": "PhoneNumbers_GetOperation",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "operationId",
+ "description": "The id of the operation",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "When the operation is completed, query the final result of the operation using the URL specified in the 'Location' attribute in the response header.",
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberOperation"
+ },
+ "headers": {
+ "Location": {
+ "description": "Url to retrieve the final result after operation completes.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get long running operation status by operation id": {
+ "$ref": "./examples/GetOperation.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Long running operations"
+ ],
+ "summary": "Cancels an operation by its id.",
+ "operationId": "PhoneNumbers_CancelOperation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "operationId",
+ "description": "The id of the operation",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete long running operation with the given operation id": {
+ "$ref": "./examples/DeleteOperation.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ]
+ }
+ },
+ "/phoneNumbers/{phoneNumber}/capabilities": {
+ "patch": {
+ "tags": [
+ "Manage purchased phone numbers"
+ ],
+ "summary": "Updates the capabilities of a phone number.",
+ "operationId": "PhoneNumbers_UpdateCapabilities",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "phoneNumber",
+ "description": "The phone number id in E.164 format. The leading plus can be either + or encoded as %2B, e.g. +11234567890.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Defines the update capabilities request.",
+ "schema": {
+ "$ref": "#/definitions/PhoneNumberCapabilitiesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later. It will return 'Accepted' immediately and include an 'Operation-Location' and 'Location' headers. Client side should further query the operation status using the URL specified in 'Operation-Location' header. When operation completes successfully query final result using URL specified in 'Location' header.",
+ "schema": {
+ "$ref": "#/definitions/PurchasedPhoneNumber"
+ },
+ "headers": {
+ "Location": {
+ "description": "URL to retrieve the final result after operation completes.",
+ "type": "string"
+ },
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ },
+ "operation-id": {
+ "description": "The operation id.",
+ "type": "string"
+ },
+ "capabilities-id": {
+ "description": "The capabilities operation id.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Update phoneNumber capabilities": {
+ "$ref": "./examples/UpdatePhoneNumberCapabilities.json"
+ }
+ }
+ }
+ },
+ "/phoneNumbers/{phoneNumber}": {
+ "get": {
+ "tags": [
+ "Manage purchased phone numbers"
+ ],
+ "summary": "Gets the details of the given purchased phone number.",
+ "operationId": "PhoneNumbers_GetByNumber",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "phoneNumber",
+ "description": "The purchased phone number whose details are to be fetched in E.164 format, e.g. +11234567890.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PurchasedPhoneNumber"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Fetch purchased phone number": {
+ "$ref": "./examples/GetPhoneNumber.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Manage purchased phone numbers"
+ ],
+ "summary": "Releases a purchased phone number.",
+ "operationId": "PhoneNumbers_ReleasePhoneNumber",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "phoneNumber",
+ "description": "Phone number to be released, e.g. +11234567890.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later. It will return 'Accepted' immediately and include an 'Operation-Location' and 'Location' headers. Client side should further query the operation status using the URL specified in 'Operation-Location' header. When operation completes successfully query final result using URL specified in 'Location' header.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ },
+ "operation-id": {
+ "description": "The operation id.",
+ "type": "string"
+ },
+ "release-id": {
+ "description": "The release operation id.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Release phone number": {
+ "$ref": "./examples/ReleasePhoneNumber.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ]
+ }
+ },
+ "/phoneNumbers": {
+ "get": {
+ "tags": [
+ "Manage purchased phone numbers"
+ ],
+ "summary": "Gets the list of all purchased phone numbers.",
+ "operationId": "PhoneNumbers_ListPhoneNumbers",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "skip",
+ "description": "An optional parameter for how many entries to skip, for pagination purposes. The default value is 0.",
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ {
+ "in": "query",
+ "name": "top",
+ "description": "An optional parameter for how many entries to return, for pagination purposes. The default value is 100.",
+ "type": "integer",
+ "format": "int32",
+ "default": 100
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PurchasedPhoneNumbers"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "phoneNumbers"
+ },
+ "x-ms-examples": {
+ "List purchased phone numbers": {
+ "$ref": "./examples/GetPhoneNumbers.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PhoneNumberCapabilities": {
+ "description": "Capabilities of a phone number.",
+ "required": [
+ "calling",
+ "sms"
+ ],
+ "type": "object",
+ "properties": {
+ "calling": {
+ "description": "Capability value for calling.",
+ "enum": [
+ "none",
+ "inbound",
+ "outbound",
+ "inbound+outbound"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberCapabilityType",
+ "modelAsString": true
+ }
+ },
+ "sms": {
+ "description": "Capability value for SMS.",
+ "enum": [
+ "none",
+ "inbound",
+ "outbound",
+ "inbound+outbound"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberCapabilityType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PhoneNumberSearchRequest": {
+ "description": "Represents a phone number search request to find phone numbers. Found phone numbers are temporarily held for a following purchase.",
+ "required": [
+ "assignmentType",
+ "capabilities",
+ "phoneNumberType"
+ ],
+ "type": "object",
+ "properties": {
+ "phoneNumberType": {
+ "description": "The type of phone numbers to search for, e.g. geographic, or tollFree.",
+ "enum": [
+ "geographic",
+ "tollFree"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberType",
+ "modelAsString": true
+ }
+ },
+ "assignmentType": {
+ "description": "The assignment type of the phone numbers to search for. A phone number can be assigned to a person, or to an application.",
+ "enum": [
+ "person",
+ "application"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberAssignmentType",
+ "modelAsString": true
+ }
+ },
+ "capabilities": {
+ "$ref": "#/definitions/PhoneNumberCapabilities"
+ },
+ "areaCode": {
+ "description": "The area code of the desired phone number, e.g. 425.",
+ "type": "string"
+ },
+ "quantity": {
+ "format": "int32",
+ "description": "The quantity of desired phone numbers. The default value is 1.",
+ "default": 1,
+ "maximum": 2147483647,
+ "minimum": 1,
+ "type": "integer"
+ }
+ }
+ },
+ "PhoneNumberCost": {
+ "description": "The incurred cost for a single phone number.",
+ "required": [
+ "amount",
+ "billingFrequency",
+ "currencyCode"
+ ],
+ "type": "object",
+ "properties": {
+ "amount": {
+ "format": "double",
+ "description": "The cost amount.",
+ "type": "number"
+ },
+ "currencyCode": {
+ "description": "The ISO 4217 currency code for the cost amount, e.g. USD.",
+ "type": "string"
+ },
+ "billingFrequency": {
+ "description": "The frequency with which the cost gets billed.",
+ "enum": [
+ "monthly"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BillingFrequency",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PhoneNumberSearchResult": {
+ "description": "The result of a phone number search operation.",
+ "required": [
+ "assignmentType",
+ "capabilities",
+ "cost",
+ "phoneNumbers",
+ "phoneNumberType",
+ "searchExpiresBy",
+ "searchId"
+ ],
+ "type": "object",
+ "properties": {
+ "searchId": {
+ "description": "The search id.",
+ "type": "string"
+ },
+ "phoneNumbers": {
+ "description": "The phone numbers that are available. Can be fewer than the desired search quantity.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "phoneNumberType": {
+ "description": "The phone number's type, e.g. geographic, or tollFree.",
+ "enum": [
+ "geographic",
+ "tollFree"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberType",
+ "modelAsString": true
+ }
+ },
+ "assignmentType": {
+ "description": "Phone number's assignment type.",
+ "enum": [
+ "person",
+ "application"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberAssignmentType",
+ "modelAsString": true
+ }
+ },
+ "capabilities": {
+ "$ref": "#/definitions/PhoneNumberCapabilities"
+ },
+ "cost": {
+ "$ref": "#/definitions/PhoneNumberCost"
+ },
+ "searchExpiresBy": {
+ "format": "date-time",
+ "description": "The date that this search result expires and phone numbers are no longer on hold. A search result expires in less than 15min, e.g. 2020-11-19T16:31:49.048Z.",
+ "type": "string"
+ }
+ }
+ },
+ "PhoneNumberPurchaseRequest": {
+ "description": "The phone number search purchase request.",
+ "type": "object",
+ "properties": {
+ "searchId": {
+ "description": "The search id.",
+ "type": "string"
+ }
+ }
+ },
+ "PhoneNumberOperation": {
+ "description": "Long running operation.",
+ "required": [
+ "createdDateTime",
+ "id",
+ "operationType",
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of operation.",
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "resourceLocation": {
+ "description": "URL for retrieving the result of the operation, if any.",
+ "type": "string"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "The date that the operation was created.",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "../../../Microsoft.CommunicationServicesCommon/stable/2021-03-07/common.json#/definitions/CommunicationError"
+ },
+ "id": {
+ "description": "Id of operation.",
+ "type": "string"
+ },
+ "operationType": {
+ "description": "The type of operation, e.g. Search",
+ "enum": [
+ "purchase",
+ "releasePhoneNumber",
+ "search",
+ "updatePhoneNumberCapabilities"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberOperationType",
+ "modelAsString": true
+ }
+ },
+ "lastActionDateTime": {
+ "format": "date-time",
+ "description": "The most recent date that the operation was changed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PhoneNumberCapabilitiesRequest": {
+ "description": "Capabilities of a phone number.",
+ "type": "object",
+ "properties": {
+ "calling": {
+ "description": "Capability value for calling.",
+ "enum": [
+ "none",
+ "inbound",
+ "outbound",
+ "inbound+outbound"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberCapabilityType",
+ "modelAsString": true
+ }
+ },
+ "sms": {
+ "description": "Capability value for SMS.",
+ "enum": [
+ "none",
+ "inbound",
+ "outbound",
+ "inbound+outbound"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberCapabilityType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PurchasedPhoneNumber": {
+ "description": "Represents a purchased phone number.",
+ "required": [
+ "assignmentType",
+ "capabilities",
+ "cost",
+ "countryCode",
+ "id",
+ "phoneNumber",
+ "phoneNumberType",
+ "purchaseDate"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the phone number, e.g. 11234567890.",
+ "type": "string"
+ },
+ "phoneNumber": {
+ "description": "String of the E.164 format of the phone number, e.g. +11234567890.",
+ "type": "string"
+ },
+ "countryCode": {
+ "description": "The ISO 3166-2 code of the phone number's country, e.g. US.",
+ "type": "string"
+ },
+ "phoneNumberType": {
+ "description": "The phone number's type, e.g. Geographic, TollFree.",
+ "enum": [
+ "geographic",
+ "tollFree"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberType",
+ "modelAsString": true
+ }
+ },
+ "capabilities": {
+ "$ref": "#/definitions/PhoneNumberCapabilities"
+ },
+ "assignmentType": {
+ "description": "The assignment type of the phone number. A phone number can be assigned to a person, or to an application.",
+ "enum": [
+ "person",
+ "application"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PhoneNumberAssignmentType",
+ "modelAsString": true
+ }
+ },
+ "purchaseDate": {
+ "format": "date-time",
+ "description": "The date and time that the phone number was purchased.",
+ "type": "string"
+ },
+ "cost": {
+ "$ref": "#/definitions/PhoneNumberCost"
+ }
+ }
+ },
+ "PurchasedPhoneNumbers": {
+ "description": "The list of purchased phone numbers.",
+ "required": [
+ "phoneNumbers"
+ ],
+ "type": "object",
+ "properties": {
+ "phoneNumbers": {
+ "description": "Represents a list of phone numbers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PurchasedPhoneNumber"
+ }
+ },
+ "nextLink": {
+ "description": "Represents the URL link to the next page of phone number results.",
+ "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 communication resource, for example https://resourcename.communication.azure.com.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesSms/readme.csharp.md b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/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/Microsoft.CommunicationServicesSms/readme.md b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/readme.md
new file mode 100644
index 000000000000..d4cf1160c110
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/readme.md
@@ -0,0 +1,77 @@
+# 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:
+ - preview/2020-07-20-preview1/communicationservicessms.json
+title:
+ Azure Communication Services
+```
+
+### Tag: package-sms-2021-03-07
+
+These settings apply only when `--tag=package-sms-2021-03-07` is specified on the command line.
+
+```yaml $(tag) == 'package-sms-2021-03-07'
+input-file:
+ - stable/2021-03-07/communicationservicessms.json
+title:
+ Azure Communication Services
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesSms/readme.python.md b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/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/Microsoft.CommunicationServicesSms/readme.ruby.md b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/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/Microsoft.CommunicationServicesSms/readme.typescript.md b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesSms/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "communicationservices"
+ output-folder: "$(typescript-sdks-folder)/packages/communicationservices"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/readme.csharp.md b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/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/Microsoft.CommunicationServicesTurn/readme.md b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/readme.md
new file mode 100644
index 000000000000..ef1a1f47ba50
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/readme.md
@@ -0,0 +1,66 @@
+# communicationservices
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for communicationservices.
+
+## Getting Started
+
+To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run:
+
+> `autorest readme.md`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page.
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the communicationservices.
+
+```yaml
+openapi-type: data-plane
+tag: package-2020-07-20-preview1
+```
+
+### Tag: package-2021-02-22-preview1
+
+These settings apply only when `--tag=package-2021-02-22-preview1` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-02-22-preview1'
+input-file:
+ - preview/2021-02-22-preview1/CommunicationTurn.json
+title:
+ Azure Communication Services
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/readme.python.md b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/readme.python.md
new file mode 100644
index 000000000000..f7f55ff2159b
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/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/Microsoft.CommunicationServicesTurn/readme.ruby.md b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/readme.ruby.md
new file mode 100644
index 000000000000..f521ab44dbf5
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/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/Microsoft.CommunicationServicesTurn/readme.typescript.md b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/Microsoft.CommunicationServicesTurn/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "communicationservices"
+ output-folder: "$(typescript-sdks-folder)/packages/communicationservices"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/communication/data-plane/readme.md b/specification/communication/data-plane/readme.md
deleted file mode 100644
index 97d9999010b2..000000000000
--- a/specification/communication/data-plane/readme.md
+++ /dev/null
@@ -1,155 +0,0 @@
-# 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-11-01-preview3
-
-These settings apply only when `--tag=package-2020-11-01-preview3` is specified on the command line.
-
-```yaml $(tag) == 'package-2020-11-01-preview3'
-input-file:
- - Microsoft.CommunicationServicesChat/preview/2020-11-01-preview3/communicationserviceschat.json
-title:
- Azure Communication Services
-```
-
-### Tag: package-2021-01-27-preview4
-
-These settings apply only when `--tag=package-2021-01-27-preview4` is specified on the command line.
-
-```yaml $(tag) == 'package-2021-01-27-preview4'
-input-file:
- - Microsoft.CommunicationServicesChat/preview/2021-01-27-preview4/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
-```
-
-### Tag: package-2021-03-07
-
-These settings apply only when `--tag=package-2021-03-07` is specified on the command line.
-
-```yaml $(tag) == 'package-2021-03-07'
-input-file:
- - Microsoft.CommunicationServicesIdentity/stable/2021-03-07/CommunicationIdentity.json
-title:
- Azure Communication Services
-```
-
-### Tag: package-sms-2021-03-07
-
-These settings apply only when `--tag=package-sms-2021-03-07` is specified on the command line.
-
-```yaml $(tag) == 'package-sms-2021-03-07'
-input-file:
- - Microsoft.CommunicationServicesSms/stable/2021-03-07/communicationservicessms.json
-title:
- Azure Communication Services
-```
-
-### Tag: package-2021-02-22-preview1
-
-These settings apply only when `--tag=package-2021-02-22-preview1` is specified on the command line.
-
-```yaml $(tag) == 'package-2021-02-22-preview1'
-input-file:
- - Microsoft.CommunicationServicesTurn/preview/2021-02-22-preview1/CommunicationTurn.json
- - Microsoft.CommunicationServicesIdentity/preview/2021-02-22-preview1/CommunicationIdentity.json
-```
-
-### Tag: package-2020-11-19-preview1
-
-These settings apply only when `--tag=package-2020-11-19-preview1` is specified on the command line.
-
-```yaml $(tag) == 'package-2020-11-19-preview1'
-input-file:
- - Microsoft.CommunicationServicesCommon/preview/2020-11-19-preview1/common.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/resource-manager/Microsoft.Communication/stable/2020-08-20/CommunicationService.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/CommunicationService.json
new file mode 100644
index 000000000000..84f2d286939b
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/CommunicationService.json
@@ -0,0 +1,959 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Communication Services Management API",
+ "version": "2020-08-20",
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../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/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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../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": "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": "../../../../../common-types/resource-management/v2/types.json#/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/CommunicationServiceResource"
+ }
+ },
+ {
+ "$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/CommunicationServiceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update request was successful",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../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/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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../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/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "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": "../../../../../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/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Delete 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": "../../../../../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/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": "../../../../../common-types/resource-management/v2/types.json#/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": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateKeyParameters"
+ }
+ },
+ {
+ "$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/CommunicationServiceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Created. The response contains the new key.",
+ "schema": {
+ "$ref": "#/definitions/CommunicationServiceKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Regenerate key": {
+ "$ref": "./examples/regenerateKey.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ },
+ {
+ "$ref": "#/definitions/LocationResource"
+ },
+ {
+ "$ref": "#/definitions/TaggedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CommunicationServiceProperties",
+ "description": "The properties of the service.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "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": {
+ "CommunicationServiceName": {
+ "name": "communicationServiceName",
+ "in": "path",
+ "description": "The name of the CommunicationService resource.",
+ "pattern": "^[-\\w]+$",
+ "minLength": 1,
+ "maxLength": 63,
+ "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/stable/2020-08-20/examples/checkNameAvailabilityAvailable.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/checkNameAvailabilityAvailable.json
new file mode 100644
index 000000000000..7f98740e2575
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/checkNameAvailabilityAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "api-version": "2020-08-20",
+ "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/stable/2020-08-20/examples/checkNameAvailabilityUnavailable.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/checkNameAvailabilityUnavailable.json
new file mode 100644
index 000000000000..06c2199d7535
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/checkNameAvailabilityUnavailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "api-version": "2020-08-20",
+ "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/stable/2020-08-20/examples/createOrUpdate.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/createOrUpdate.json
new file mode 100644
index 000000000000..4e24f21f850e
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/createOrUpdate.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20",
+ "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/stable/2020-08-20/examples/delete.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/delete.json
new file mode 100644
index 000000000000..dee27253600e
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20"
+ },
+ "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/stable/2020-08-20/examples/get.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/get.json
new file mode 100644
index 000000000000..2c3d49aa4b28
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20"
+ },
+ "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/stable/2020-08-20/examples/getOperationStatus.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/getOperationStatus.json
new file mode 100644
index 000000000000..fc9587705dd9
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/getOperationStatus.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "location": "westus2",
+ "operationId": "db5f291f-284d-46e9-9152-d5c83f7c14b8",
+ "api-version": "2020-08-20"
+ },
+ "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/stable/2020-08-20/examples/linkNotificationHub.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/linkNotificationHub.json
new file mode 100644
index 000000000000..7ddfbcc705e1
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/linkNotificationHub.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20",
+ "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/stable/2020-08-20/examples/listByResourceGroup.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/listByResourceGroup.json
new file mode 100644
index 000000000000..a1a743f567ab
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/listByResourceGroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "api-version": "2020-08-20"
+ },
+ "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/stable/2020-08-20/examples/listBySubscription.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/listBySubscription.json
new file mode 100644
index 000000000000..99e114dcf5ee
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/listBySubscription.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "api-version": "2020-08-20"
+ },
+ "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/stable/2020-08-20/examples/listKeys.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/listKeys.json
new file mode 100644
index 000000000000..b78580f4aa9a
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/listKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/regenerateKey.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/regenerateKey.json
new file mode 100644
index 000000000000..a03280fbc27c
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/regenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20",
+ "parameters": {
+ "keyType": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "1234",
+ "primaryConnectionString": "endpoint=http://example.com;accesskey=1234"
+ }
+ }
+ }
+}
diff --git a/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/update.json b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/update.json
new file mode 100644
index 000000000000..3537d9dd4142
--- /dev/null
+++ b/specification/communication/resource-manager/Microsoft.Communication/stable/2020-08-20/examples/update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "12345",
+ "resourceGroupName": "MyResourceGroup",
+ "communicationServiceName": "MyCommunicationResource",
+ "api-version": "2020-08-20",
+ "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.az.md b/specification/communication/resource-manager/readme.az.md
index 100de551bd7f..4597fca59d0c 100644
--- a/specification/communication/resource-manager/readme.az.md
+++ b/specification/communication/resource-manager/readme.az.md
@@ -7,9 +7,10 @@ az:
extensions: communication
namespace: azure.mgmt.communication
package-name: azure-mgmt-communication
+ randomize-names: true
az-output-folder: $(azure-cli-extension-folder)/src/communication
python-sdk-output-folder: "$(az-output-folder)/azext_communication/vendored_sdks/communication"
-# add additinal configuration here specific for Azure CLI
+# add additional configuration here specific for Azure CLI
# refer to the faq.md for more details
```
@@ -18,14 +19,18 @@ python-sdk-output-folder: "$(az-output-folder)/azext_communication/vendored_sdks
``` yaml
extension-mode: preview
+directive:
+ - where:
+ group: communication communication-service
+ set:
+ group: communication
+ - where:
+ command: communication operation-statuses show
+ set:
+ command: communication show-status
+
cli:
cli-directive:
-
-# -------- CommunicationService --------
- - where:
- group: CommunicationService
- set:
- name: service
- where:
group: CommunicationService
param: CommunicationServiceName
@@ -33,10 +38,4 @@ cli:
alias:
- name
- n
-
-# -------- OperationStatuses --------
- - where:
- group: OperationStatuses
- set:
- name: status
```
diff --git a/specification/communication/resource-manager/readme.azureresourceschema.md b/specification/communication/resource-manager/readme.azureresourceschema.md
index 9f59d5cca93d..50f22f2d1120 100644
--- a/specification/communication/resource-manager/readme.azureresourceschema.md
+++ b/specification/communication/resource-manager/readme.azureresourceschema.md
@@ -7,6 +7,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
- tag: schema-communication-2020-08-20-preview
+ - tag: schema-communication-2020-08-20
```
@@ -22,3 +23,14 @@ input-file:
- Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json
```
+
+### Tag: schema-communication-2020-08-20 and azureresourceschema
+
+``` yaml $(tag) == 'schema-communication-2020-08-20' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Communication/stable/2020-08-20/CommunicationService.json
+
+```
diff --git a/specification/communication/resource-manager/readme.go.md b/specification/communication/resource-manager/readme.go.md
index 1434d5fd3791..7f440b90e41d 100644
--- a/specification/communication/resource-manager/readme.go.md
+++ b/specification/communication/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: communication
clear-output-folder: true
```
@@ -13,9 +13,19 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-08-20
- tag: package-2020-08-20-preview
```
+### Tag: package-2020-08-20 and go
+
+These settings apply only when `--tag=package-2020-08-20 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-08-20' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-08-20/$(namespace)
+```
+
### 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.
diff --git a/specification/communication/resource-manager/readme.java.md b/specification/communication/resource-manager/readme.java.md
index 9c6341c30e98..f52e515d6980 100644
--- a/specification/communication/resource-manager/readme.java.md
+++ b/specification/communication/resource-manager/readme.java.md
@@ -16,9 +16,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-communication
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-08-20
- tag: package-2020-08-20-preview
```
+### Tag: package-2020-08-20 and java
+
+These settings apply only when `--tag=package-2020-08-20--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-08-20' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.communication.v2020_08_20
+ output-folder: $(azure-libraries-for-java-folder)/sdk/communication/mgmt-v2020_08_20
+regenerate-manager: true
+generate-interface: true
+```
+
### 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.
diff --git a/specification/communication/resource-manager/readme.md b/specification/communication/resource-manager/readme.md
index f9e55f031a15..c013a2460dd4 100644
--- a/specification/communication/resource-manager/readme.md
+++ b/specification/communication/resource-manager/readme.md
@@ -28,7 +28,16 @@ These are the global settings for the Azure Communication Services API.
title: CommunicationServiceManagementClient
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2020-08-20-preview
+tag: package-2020-08-20
+```
+
+### Tag: package-2020-08-20
+
+These settings apply only when `--tag=package-2020-08-20` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-08-20'
+input-file:
+ - Microsoft.Communication/stable/2020-08-20/CommunicationService.json
```
### Tag: package-2020-08-20-preview
@@ -51,7 +60,6 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/communication/resource-manager/readme.python.md b/specification/communication/resource-manager/readme.python.md
index 74a33158e6ad..8ca7562f6b9e 100644
--- a/specification/communication/resource-manager/readme.python.md
+++ b/specification/communication/resource-manager/readme.python.md
@@ -3,33 +3,6 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-
-
-``` yaml !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.communication
- package-name: azure-mgmt-communication
- package-version: 1.0.0rc1
- clear-output-folder: true
-```
-
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/communication/azure-mgmt-communication/azure/mgmt/communication
-```
-
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/communication/azure/mgmt/communication
-```
-
-
These settings apply only when `--track2` is specified on the command line.
``` yaml $(track2)
@@ -37,7 +10,7 @@ azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-communication
no-namespace-folders: true
-package-version: 1.0.0rc1
+package-version: 1.0.0
```
```yaml $(python) && $(python-mode) == 'update' && $(track2)
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/AddToSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/AddToSharingProfileInAGallery.json
new file mode 100644
index 000000000000..2b58d146d876
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/CreateOrUpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGallery.json
new file mode 100644
index 000000000000..be3c726713ed
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json
new file mode 100644
index 000000000000..d4f969d2d11e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json
new file mode 100644
index 000000000000..079b456f748a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json
new file mode 100644
index 000000000000..13f9b61d3641
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json
new file mode 100644
index 000000000000..fee5dac0bd98
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json
@@ -0,0 +1,281 @@
+{
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithImageVersionAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithImageVersionAsSource.json
new file mode 100644
index 000000000000..1f76f9daaf64
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithImageVersionAsSource.json
@@ -0,0 +1,281 @@
+{
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionName}"
+ }
+ }
+ }
+ }
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionName}"
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionName}"
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
new file mode 100644
index 000000000000..d6faf2af5ac0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
@@ -0,0 +1,270 @@
+{
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/disks/{dataDiskName}"
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "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/disks/{dataDiskName}"
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "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/disks/{dataDiskName}"
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "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/disks/{dataDiskName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json
new file mode 100644
index 000000000000..e40f5781080c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json
@@ -0,0 +1,228 @@
+{
+ "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/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "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/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "lun": 1,
+ "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/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "lun": 1,
+ "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/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "lun": 1,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVMAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVMAsSource.json
new file mode 100644
index 000000000000..58255556f36b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVMAsSource.json
@@ -0,0 +1,281 @@
+{
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ }
+ }
+ }
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ },
+ "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/myWestUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherWestUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myWestUSDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherEastUSDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myEastUSDiskEncryptionSet"
+ }
+ ]
+ }
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json
new file mode 100644
index 000000000000..b9852f7f8548
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/DeleteAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/DeleteAGallery.json
new file mode 100644
index 000000000000..2abe4517a561
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/DeleteAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/DeleteAGalleryApplication.json
new file mode 100644
index 000000000000..f1014e7b7f78
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/DeleteAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/DeleteAGalleryApplicationVersion.json
new file mode 100644
index 000000000000..e4a43f69b126
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/DeleteAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/DeleteAGalleryImage.json
new file mode 100644
index 000000000000..6d760641d7b4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/DeleteAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/DeleteAGalleryImageVersion.json
new file mode 100644
index 000000000000..76001cffb9b2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGallery.json
new file mode 100644
index 000000000000..7ef46189bfcc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryApplication.json
new file mode 100644
index 000000000000..37c4d1d42a00
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryApplicationVersion.json
new file mode 100644
index 000000000000..0affffec2e45
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json
new file mode 100644
index 000000000000..776ea72e0c03
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryImage.json
new file mode 100644
index 000000000000..8e4305e0148c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryImageVersion.json
new file mode 100644
index 000000000000..c65d0cc43058
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json
new file mode 100644
index 000000000000..7462407b0222
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json
new file mode 100644
index 000000000000..a0184d882337
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json
new file mode 100644
index 000000000000..e2bc75d1c2bd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json
@@ -0,0 +1,68 @@
+{
+ "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": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ },
+ "lun": 1,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryWithSelectPermissions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetAGalleryWithSelectPermissions.json
new file mode 100644
index 000000000000..b58ca89c0bc1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetASharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetASharedGallery.json
new file mode 100644
index 000000000000..9615b8456462
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetASharedGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetASharedGalleryImage.json
new file mode 100644
index 000000000000..ab78ae46c4f0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/GetASharedGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/GetASharedGalleryImageVersion.json
new file mode 100644
index 000000000000..7e20e0f45d65
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ListGalleriesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ListGalleriesInAResourceGroup.json
new file mode 100644
index 000000000000..756c512dd1fe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ListGalleriesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ListGalleriesInASubscription.json
new file mode 100644
index 000000000000..280325678dd3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json
new file mode 100644
index 000000000000..b0ea6bfdba57
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ListGalleryApplicationsInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ListGalleryApplicationsInAGallery.json
new file mode 100644
index 000000000000..d21b58c493ff
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json
new file mode 100644
index 000000000000..499ad4e6366f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ListGalleryImagesInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ListGalleryImagesInAGallery.json
new file mode 100644
index 000000000000..570fc0e39b6f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ListSharedGalleries.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ListSharedGalleries.json
new file mode 100644
index 000000000000..baebdfed7d93
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ListSharedGalleryImageVersions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ListSharedGalleryImageVersions.json
new file mode 100644
index 000000000000..95baa0b1144f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ListSharedGalleryImages.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ListSharedGalleryImages.json
new file mode 100644
index 000000000000..47a2b4ac926a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/ResetSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/ResetSharingProfileInAGallery.json
new file mode 100644
index 000000000000..98c4a29b2a29
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/UpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/UpdateASimpleGallery.json
new file mode 100644
index 000000000000..d3618117f15c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/UpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/UpdateASimpleGalleryApplication.json
new file mode 100644
index 000000000000..0bb889c29a26
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json
new file mode 100644
index 000000000000..9933e2d8d709
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/UpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/UpdateASimpleGalleryImage.json
new file mode 100644
index 000000000000..ebfd473f7e95
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json
new file mode 100644
index 000000000000..5cf4547abad1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/stable/2020-09-30/examples/UpdateASimpleGalleryImageVersionWithoutSourceId.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/UpdateASimpleGalleryImageVersionWithoutSourceId.json
new file mode 100644
index 000000000000..c02831e28f92
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/examples/UpdateASimpleGalleryImageVersionWithoutSourceId.json
@@ -0,0 +1,83 @@
+{
+ "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": {}
+ }
+ }
+ },
+ "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/stable/2020-09-30/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/gallery.json
new file mode 100644
index 000000000000..d1cfed5ba1c3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/gallery.json
@@ -0,0 +1,2876 @@
+{
+ "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 using 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 VM as source.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithVMAsSource.json"
+ },
+ "Create or update a simple Gallery Image Version using shared image as source.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithImageVersionAsSource.json"
+ },
+ "Create or update a simple Gallery Image Version using mix of disks and 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"
+ },
+ "Update a simple Gallery Image Version without source id.": {
+ "$ref": "./examples/UpdateASimpleGalleryImageVersionWithoutSourceId.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_Get",
+ "description": "Retrieves information about a gallery image version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition resides."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition in which the Image Version resides."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image version to be retrieved."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "ReplicationStatus"
+ ],
+ "x-ms-enum": {
+ "name": "ReplicationStatusTypes",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery image version.": {
+ "$ref": "./examples/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
+ }
+ },
+ "endOfLifeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable."
+ },
+ "identifier": {
+ "$ref": "#/definitions/GalleryImageIdentifier"
+ },
+ "recommended": {
+ "$ref": "#/definitions/RecommendedMachineConfiguration"
+ },
+ "disallowed": {
+ "$ref": "#/definitions/Disallowed"
+ },
+ "purchasePlan": {
+ "$ref": "#/definitions/ImagePurchasePlan"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The current state of the gallery image definition.",
+ "description": "The provisioning state, which only appears in the response.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ]
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryImageFeature"
+ },
+ "description": "A list of gallery image features."
+ }
+ },
+ "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/stable/2020-09-30/sharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-09-30/sharedGallery.json
new file mode 100644
index 000000000000..9867716e318a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/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/LocationNameParameter"
+ },
+ {
+ "$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/LocationNameParameter"
+ },
+ {
+ "$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/LocationNameParameter"
+ },
+ {
+ "$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/LocationNameParameter"
+ },
+ {
+ "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/LocationNameParameter"
+ },
+ {
+ "$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/LocationNameParameter"
+ },
+ {
+ "$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."
+ },
+ "LocationNameParameter": {
+ "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/2020-12-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/disk.json
new file mode 100644
index 000000000000..17e3b33cf33e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/disk.json
@@ -0,0 +1,3432 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DiskResourceProviderClient",
+ "description": "The Disk Resource Provider Client.",
+ "version": "2020-12-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}": {
+ "put": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_CreateOrUpdate",
+ "description": "Creates or updates a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "Disk object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an empty managed disk.": {
+ "$ref": "./examples/CreateAnEmptyManagedDisk.json"
+ },
+ "Create a managed disk from a platform image.": {
+ "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json"
+ },
+ "Create a managed disk from an existing managed disk in the same or different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ },
+ "Create a managed disk by copying a snapshot.": {
+ "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json"
+ },
+ "Create a managed upload disk.": {
+ "$ref": "./examples/CreateAManagedUploadDisk.json"
+ },
+ "Create a managed disk and associate with disk access resource.": {
+ "$ref": "./examples/CreateAManagedDiskWithDiskAccess.json"
+ },
+ "Create a managed disk and associate with disk encryption set.": {
+ "$ref": "./examples/CreateAManagedDiskWithDiskEncryptionSet.json"
+ },
+ "Create an ultra managed disk with logicalSectorSize 512E": {
+ "$ref": "./examples/CreateAManagedDiskWithLogicalSectorSize.json"
+ },
+ "Create an empty managed disk in extended location.": {
+ "$ref": "./examples/CreateAnEmptyManagedDiskInExtendedLocation.json"
+ },
+ "Create a managed disk with ssd zrs account type.": {
+ "$ref": "./examples/CreateAManagedDiskWithSSDZRSAccountType.json"
+ },
+ "Create a managed disk with security profile": {
+ "$ref": "./examples/CreateAManagedDiskWithSecurityProfile.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Update",
+ "description": "Updates (patches) a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskUpdate"
+ },
+ "description": "Disk object supplied in the body of the Patch disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update managed disk to remove disk access resource association.": {
+ "$ref": "./examples/UpdateAManagedDiskToRemoveDiskAccess.json"
+ },
+ "Update a managed disk to add purchase plan.": {
+ "$ref": "./examples/UpdateAManagedDiskToAddPurchasePlan.json"
+ },
+ "Update a managed disk to disable bursting.": {
+ "$ref": "./examples/UpdateAManagedDiskToDisableBursting.json"
+ },
+ "Create or update a bursting enabled managed disk.": {
+ "$ref": "./examples/CreateOrUpdateABurstingEnabledManagedDisk.json"
+ },
+ "Update a managed disk to add supportsHibernation.": {
+ "$ref": "./examples/UpdateAManagedDiskToAddSupportsHibernation.json"
+ },
+ "Update a managed disk to change tier.": {
+ "$ref": "./examples/UpdateAManagedDiskToChangeTier.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"
+ },
+ "Create a disk encryption set with key vault from a different subscription.": {
+ "$ref": "./examples/CreateADiskEncryptionSetWithKeyVaultFromADifferentSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Update",
+ "description": "Updates (patches) a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskEncryptionSet",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetUpdate"
+ },
+ "description": "disk encryption set object supplied in the body of the Patch disk encryption set operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a disk encryption set.": {
+ "$ref": "./examples/UpdateADiskEncryptionSet.json"
+ },
+ "Update a disk encryption set with rotationToLatestKeyVersionEnabled set to true - Succeeded": {
+ "$ref": "./examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json"
+ },
+ "Update a disk encryption set with rotationToLatestKeyVersionEnabled set to true - Updating": {
+ "$ref": "./examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Get",
+ "description": "Gets information about a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a disk encryption set.": {
+ "$ref": "./examples/GetInformationAboutADiskEncryptionSet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Delete",
+ "description": "Deletes a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk encryption set is already deleted, this is an expected error code."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a disk encryption set.": {
+ "$ref": "./examples/DeleteADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_ListByResourceGroup",
+ "description": "Lists all the disk encryption sets under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a resource group.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_List",
+ "description": "Lists all the disk encryption sets under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a subscription.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_ListAssociatedResources",
+ "description": "Lists all resources that are encrypted with this disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ResourceUriList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all resources that are encrypted with this disk encryption set.": {
+ "$ref": "./examples/ListDiskEncryptionSetAssociatedResources.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}": {
+ "put": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_CreateOrUpdate",
+ "description": "Creates or updates a disk access resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskAccess",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ },
+ "description": "disk access object supplied in the body of the Put disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a disk access resource.": {
+ "$ref": "./examples/CreateADiskAccess.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_Update",
+ "description": "Updates (patches) a disk access resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskAccess",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskAccessUpdate"
+ },
+ "description": "disk access object supplied in the body of the Patch disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a disk access resource.": {
+ "$ref": "./examples/UpdateADiskAccess.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_Get",
+ "description": "Gets information about a disk access resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccess"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a disk access resource.": {
+ "$ref": "./examples/GetInformationAboutADiskAccess.json"
+ },
+ "Get information about a disk access resource with private endpoints.": {
+ "$ref": "./examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_Delete",
+ "description": "Deletes a disk access resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk access resource is already deleted, this is an expected error code."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a disk access resource.": {
+ "$ref": "./examples/DeleteADiskAccess.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses": {
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_ListByResourceGroup",
+ "description": "Lists all the disk access resources under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccessList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk access resources in a resource group.": {
+ "$ref": "./examples/ListDiskAccessesInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses": {
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_List",
+ "description": "Lists all the disk access resources under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskAccessList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk access resources in a subscription.": {
+ "$ref": "./examples/ListDiskAccessesInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_GetPrivateLinkResources",
+ "description": "Gets the private link resources possible under disk access resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all possible private link resources under disk access resource.": {
+ "$ref": "./examples/GetDiskAccessPrivateLinkResources.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "put": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_UpdateAPrivateEndpointConnection",
+ "description": "Approve or reject a private endpoint connection under disk access resource, this can't be used to create a new private endpoint connection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "private endpoint connection object supplied in the body of the Put private endpoint connection operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Approve a Private Endpoint Connection under a disk access resource.": {
+ "$ref": "./examples/ApprovePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_GetAPrivateEndpointConnection",
+ "description": "Gets information about a private endpoint connection under a disk access resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a private endpoint connection under a disk access resource.": {
+ "$ref": "./examples/GetInformationAboutAPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_DeleteAPrivateEndpointConnection",
+ "description": "Deletes a private endpoint connection under a disk access resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the private endpoint connection is already deleted, this is an expected error code."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a private endpoint connection under a disk access resource.": {
+ "$ref": "./examples/DeleteAPrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "DiskAccesses"
+ ],
+ "operationId": "DiskAccesses_ListPrivateEndpointConnections",
+ "description": "List information about private endpoint connections under a disk access resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskAccessNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a private endpoint connection under a disk access resource.": {
+ "$ref": "./examples/ListPrivateEndpointConnectionsInADiskAccess.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}": {
+ "get": {
+ "tags": [
+ "IncrementalRestorePoints"
+ ],
+ "operationId": "DiskRestorePoint_Get",
+ "description": "Get disk restorePoint resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RestorePointCollectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VmRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskRestorePoint"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get an incremental disk restorePoint resource.": {
+ "$ref": "./examples/GetDiskRestorePointResources.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints": {
+ "get": {
+ "tags": [
+ "IncrementalRestorePoints"
+ ],
+ "operationId": "DiskRestorePoint_ListByRestorePoint",
+ "description": "Lists diskRestorePoints under a vmRestorePoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RestorePointCollectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VmRestorePointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskRestorePointList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get an incremental disk restorePoint resource.": {
+ "$ref": "./examples/ListDiskRestorePointsInVmRestorePoint.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "ProxyOnlyResource": {
+ "description": "The ProxyOnly Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ }
+ },
+ "Disk": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A relative URI containing the ID of the VM that has the disk attached."
+ },
+ "managedByExtended": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs."
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Logical zone list for Disk."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location where the disk will be created. Extended location cannot be changed."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Disk resource."
+ },
+ "DiskUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ }
+ },
+ "description": "Disk update resource."
+ },
+ "DiskList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "A list of disks."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Disks operation response."
+ },
+ "DiskSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS",
+ "Premium_ZRS",
+ "StandardSSD_ZRS"
+ ],
+ "x-ms-enum": {
+ "name": "DiskStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access."
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads."
+ },
+ {
+ "value": "StandardSSD_LRS",
+ "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test."
+ },
+ {
+ "value": "UltraSSD_LRS",
+ "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads."
+ },
+ {
+ "value": "Premium_ZRS",
+ "description": "Premium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures."
+ },
+ {
+ "value": "StandardSSD_ZRS",
+ "description": "Standard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures."
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, or StandardSSD_ZRS."
+ },
+ "SnapshotSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "Standard_ZRS"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage"
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage"
+ },
+ {
+ "value": "Standard_ZRS",
+ "description": "Standard zone redundant storage"
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot"
+ },
+ "DiskProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "purchasePlan": {
+ "$ref": "#/definitions/PurchasePlan",
+ "description": "Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}"
+ },
+ "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."
+ },
+ "burstingEnabled": {
+ "type": "boolean",
+ "description": "Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks."
+ },
+ "propertyUpdatesInProgress": {
+ "readOnly": true,
+ "$ref": "#/definitions/PropertyUpdatesInProgress",
+ "description": "Properties of the disk for which update is pending."
+ },
+ "supportsHibernation": {
+ "type": "boolean",
+ "description": "Indicates the OS on a disk supports hibernation."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/DiskSecurityProfile",
+ "description": "Contains the security related information for the resource."
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Disk resource properties."
+ },
+ "SnapshotProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the snapshot was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "purchasePlan": {
+ "$ref": "#/definitions/PurchasePlan",
+ "description": "Purchase plan information for the image from which the source disk for the snapshot was originally created."
+ },
+ "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."
+ },
+ "supportsHibernation": {
+ "type": "boolean",
+ "description": "Indicates the OS on a snapshot supports hibernation."
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Snapshot resource properties."
+ },
+ "ShareInfoElement": {
+ "properties": {
+ "vmUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A relative URI containing the ID of the VM that has the disk attached."
+ }
+ }
+ },
+ "EncryptionSetProperties": {
+ "properties": {
+ "encryptionType": {
+ "$ref": "#/definitions/DiskEncryptionSetType"
+ },
+ "activeKey": {
+ "$ref": "#/definitions/KeyForDiskEncryptionSet",
+ "description": "The key vault key which is currently used by this disk encryption set."
+ },
+ "previousKeys": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/KeyForDiskEncryptionSet"
+ },
+ "description": "A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk encryption set provisioning state."
+ },
+ "rotationToLatestKeyVersionEnabled": {
+ "type": "boolean",
+ "description": "Set this flag to true to enable auto-updating of this disk encryption set to the latest key version."
+ },
+ "lastKeyRotationTimestamp": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the active key of this disk encryption set was updated."
+ }
+ }
+ },
+ "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"
+ },
+ "KeyForDiskEncryptionSet": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription."
+ },
+ "keyUrl": {
+ "type": "string",
+ "description": "Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value."
+ }
+ },
+ "required": [
+ "keyUrl"
+ ],
+ "description": "Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots"
+ },
+ "SourceVault": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"
+ },
+ "EncryptionType": {
+ "type": "string",
+ "description": "The type of key used to encrypt the data of the disk.",
+ "enum": [
+ "EncryptionAtRestWithPlatformKey",
+ "EncryptionAtRestWithCustomerKey",
+ "EncryptionAtRestWithPlatformAndCustomerKeys"
+ ],
+ "x-ms-enum": {
+ "name": "EncryptionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "EncryptionAtRestWithPlatformKey",
+ "description": "Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets."
+ },
+ {
+ "value": "EncryptionAtRestWithCustomerKey",
+ "description": "Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer."
+ },
+ {
+ "value": "EncryptionAtRestWithPlatformAndCustomerKeys",
+ "description": "Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed."
+ }
+ ]
+ }
+ },
+ "DiskEncryptionSetType": {
+ "type": "string",
+ "description": "The type of key used to encrypt the data of the disk.",
+ "enum": [
+ "EncryptionAtRestWithCustomerKey",
+ "EncryptionAtRestWithPlatformAndCustomerKeys"
+ ],
+ "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."
+ },
+ "burstingEnabled": {
+ "type": "boolean",
+ "description": "Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks."
+ },
+ "purchasePlan": {
+ "$ref": "#/definitions/PurchasePlan",
+ "description": "Purchase plan information to be added on the OS disk"
+ },
+ "propertyUpdatesInProgress": {
+ "readOnly": true,
+ "$ref": "#/definitions/PropertyUpdatesInProgress",
+ "description": "Properties of the disk for which update is pending."
+ },
+ "supportsHibernation": {
+ "type": "boolean",
+ "description": "Indicates the OS on a disk supports hibernation."
+ }
+ },
+ "description": "Disk resource update properties."
+ },
+ "SnapshotUpdateProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys."
+ },
+ "networkAccessPolicy": {
+ "$ref": "#/definitions/NetworkAccessPolicy"
+ },
+ "diskAccessId": {
+ "type": "string",
+ "description": "ARM id of the DiskAccess resource for using private endpoints on disks."
+ },
+ "supportsHibernation": {
+ "type": "boolean",
+ "description": "Indicates the OS on a snapshot supports hibernation."
+ }
+ },
+ "description": "Snapshot resource update properties."
+ },
+ "DiskEncryptionSetUpdateProperties": {
+ "properties": {
+ "encryptionType": {
+ "$ref": "#/definitions/DiskEncryptionSetType"
+ },
+ "activeKey": {
+ "$ref": "#/definitions/KeyForDiskEncryptionSet"
+ },
+ "rotationToLatestKeyVersionEnabled": {
+ "type": "boolean",
+ "description": "Set this flag to true to enable auto-updating of this disk encryption set to the latest key version."
+ }
+ },
+ "description": "disk encryption set resource update properties."
+ },
+ "DiskState": {
+ "type": "string",
+ "description": "This enumerates the possible state of the disk.",
+ "readOnly": true,
+ "enum": [
+ "Unattached",
+ "Attached",
+ "Reserved",
+ "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."
+ },
+ "PurchasePlan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element."
+ },
+ "promotionCode": {
+ "type": "string",
+ "description": "The Offer Promotion Code."
+ }
+ },
+ "required": [
+ "publisher",
+ "name",
+ "product"
+ ],
+ "description": "Used for establishing the purchase context of any 3rd Party artifact through MarketPlace."
+ },
+ "PropertyUpdatesInProgress": {
+ "properties": {
+ "targetTier": {
+ "type": "string",
+ "description": "The target performance tier of the disk if a tier change operation is in progress."
+ }
+ },
+ "description": "Properties of the disk for which update is pending."
+ },
+ "DiskSecurityType": {
+ "type": "string",
+ "description": "Specifies the SecurityType of the VM. Applicable for OS disks only.",
+ "enum": [
+ "TrustedLaunch"
+ ],
+ "x-ms-enum": {
+ "name": "DiskSecurityTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TrustedLaunch",
+ "description": "Trusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)"
+ }
+ ]
+ }
+ },
+ "DiskSecurityProfile": {
+ "properties": {
+ "securityType": {
+ "$ref": "#/definitions/DiskSecurityType"
+ }
+ },
+ "description": "Contains the security related information for the resource."
+ },
+ "GrantAccessData": {
+ "properties": {
+ "access": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Read",
+ "Write"
+ ],
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "durationInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Time duration in seconds until the SAS access expires."
+ }
+ },
+ "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"
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location where the snapshot will be created. Extended location cannot be changed."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Snapshot resource."
+ },
+ "SnapshotUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ }
+ },
+ "description": "Snapshot update resource."
+ },
+ "SnapshotList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "A list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Snapshots operation response."
+ },
+ "EncryptionSetIdentity": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "DiskEncryptionSetIdentityType",
+ "modelAsString": true
+ },
+ "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys."
+ },
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ }
+ },
+ "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks."
+ },
+ "DiskEncryptionSet": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/EncryptionSetIdentity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EncryptionSetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "disk encryption set resource."
+ },
+ "DiskEncryptionSetUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskEncryptionSetUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "identity": {
+ "$ref": "#/definitions/EncryptionSetIdentity"
+ }
+ },
+ "description": "disk encryption set update resource."
+ },
+ "DiskEncryptionSetList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ },
+ "description": "A list of disk encryption sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disk encryption sets. Call ListNext() with this to fetch the next page of disk encryption sets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List disk encryption set operation response."
+ },
+ "ResourceUriList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of IDs or Owner IDs of resources which are encrypted with the disk encryption set."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of encrypted resources. Call ListNext() with this to fetch the next page of encrypted resources."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List resources which are encrypted with the disk encryption set."
+ },
+ "PrivateEndpoint": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ARM identifier for Private Endpoint"
+ }
+ },
+ "description": "The Private Endpoint resource."
+ },
+ "PrivateEndpointServiceConnectionStatus": {
+ "type": "string",
+ "description": "The private endpoint connection status.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "PrivateEndpointConnectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
+ "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service."
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval/rejection of the connection."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer."
+ }
+ },
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private end point.",
+ "readOnly": true
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between DiskAccess and Virtual Network."
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
+ "description": "The provisioning state of the private endpoint connection resource."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ],
+ "description": "Properties of the PrivateEndpointConnectProperties."
+ },
+ "PrivateEndpointConnection": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Resource properties."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private endpoint connection Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private endpoint connection name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private endpoint connection type"
+ }
+ },
+ "description": "The Private Endpoint Connection resource.",
+ "x-ms-azure-resource": true
+ },
+ "DiskAccessProperties": {
+ "properties": {
+ "privateEndpointConnections": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk access resource provisioning state."
+ },
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk access was created."
+ }
+ }
+ },
+ "DiskAccess": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskAccessProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "disk access resource."
+ },
+ "DiskAccessList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskAccess"
+ },
+ "description": "A list of disk access resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disk access resources. Call ListNext() with this to fetch the next page of disk access resources."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List disk access operation response."
+ },
+ "DiskAccessUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "Used for updating a disk access resource."
+ },
+ "PrivateLinkResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private link resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private link resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "private link resource type"
+ }
+ },
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The private link resource DNS zone name."
+ }
+ },
+ "description": "Properties of a private link resource."
+ },
+ "DiskRestorePoint": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskRestorePointProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyOnlyResource"
+ }
+ ],
+ "description": "Properties of disk restore point"
+ },
+ "DiskRestorePointList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskRestorePoint"
+ },
+ "description": "A list of disk restore points."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disk restore points. Call ListNext() with this to fetch the next page of disk restore points."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Disk Restore Points operation response."
+ },
+ "DiskRestorePointProperties": {
+ "properties": {
+ "timeCreated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of restorePoint creation",
+ "readOnly": true
+ },
+ "sourceResourceId": {
+ "type": "string",
+ "description": "arm id of source disk",
+ "readOnly": true
+ },
+ "osType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "purchasePlan": {
+ "$ref": "#/definitions/PurchasePlan",
+ "description": "Purchase plan information for the the image from which the OS disk was created."
+ },
+ "familyId": {
+ "type": "string",
+ "description": "id of the backing snapshot's MIS family",
+ "readOnly": true
+ },
+ "sourceUniqueId": {
+ "type": "string",
+ "description": "unique incarnation id of the source disk",
+ "readOnly": true
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.",
+ "readOnly": true
+ },
+ "supportsHibernation": {
+ "type": "boolean",
+ "description": "Indicates the OS on a disk supports hibernation."
+ }
+ },
+ "description": "Properties of an incremental disk restore point"
+ },
+ "PrivateLinkResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "PrivateEndpointConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots."
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskNameParameter": {
+ "name": "diskName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotNameParameter": {
+ "name": "snapshotName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskEncryptionSetNameParameter": {
+ "name": "diskEncryptionSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskAccessNameParameter": {
+ "name": "diskAccessName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection",
+ "x-ms-parameter-location": "method"
+ },
+ "RestorePointCollectionNameParameter": {
+ "name": "restorePointCollectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the restore point collection that the disk restore point belongs. 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"
+ },
+ "VmRestorePointNameParameter": {
+ "name": "vmRestorePointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vm restore point that the disk disk restore point belongs. 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"
+ },
+ "DiskRestorePointNameParameter": {
+ "name": "diskRestorePointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the disk restore point 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-12-01/examples/ApprovePrivateEndpointConnection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ApprovePrivateEndpointConnection.json
new file mode 100644
index 000000000000..120225841a5d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ApprovePrivateEndpointConnection.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskAccessName": "myDiskAccess",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approving myPrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myPrivateEndpointConenction",
+ "type": "Microsoft.Compute/diskAccesses/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Updating",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Approving myPrivateEndpointConnection",
+ "status": "Approved"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myPrivateEndpointConnectionName",
+ "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myPrivateEndpointConnectionName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Approving myPrivateEndpointConnection",
+ "status": "Approved"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateADiskAccess.json
new file mode 100644
index 000000000000..a550fb911537
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateADiskAccess.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskAccessName": "myDiskAccess",
+ "diskAccess": {
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskAccess",
+ "location": "West US",
+ "type": "Microsoft.Compute/diskAccesses"
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskAccess",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateADiskEncryptionSet.json
new file mode 100644
index 000000000000..5ec4274c3ca7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateADiskEncryptionSet.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateADiskEncryptionSetWithKeyVaultFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateADiskEncryptionSetWithKeyVaultFromADifferentSubscription.json
new file mode 100644
index 000000000000..f09010a4e6b8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateADiskEncryptionSetWithKeyVaultFromADifferentSubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskByCopyingASnapshot.json
new file mode 100644
index 000000000000..6f7e28958a9b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskByCopyingASnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..fb210d0f9c55
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..cb16ea5ba08b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskFromAPlatformImage.json
new file mode 100644
index 000000000000..bd0afaade92d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskFromAPlatformImage.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "purchasePlan": {
+ "name": "{sku}",
+ "publisher": "{publisher}",
+ "product": "{offer}"
+ },
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"
+ }
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "purchasePlan": {
+ "name": "{sku}",
+ "publisher": "{publisher}",
+ "product": "{offer}"
+ },
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
new file mode 100644
index 000000000000..437f8f57c874
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk2",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk2"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithDiskAccess.json
new file mode 100644
index 000000000000..5280cb651edb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithDiskAccess.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "networkAccessPolicy": "AllowPrivate",
+ "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Succeeded",
+ "networkAccessPolicy": "AllowPrivate",
+ "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..6390d28daddd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "encryption": {
+ "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Succeeded",
+ "encryption": {
+ "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithLogicalSectorSize.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithLogicalSectorSize.json
new file mode 100644
index 000000000000..984565f1557e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithLogicalSectorSize.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "sku": {
+ "name": "UltraSSD_LRS"
+ },
+ "properties": {
+ "creationData": {
+ "createOption": "Empty",
+ "logicalSectorSize": 512
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty",
+ "logicalSectorSize": 512
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk",
+ "sku": {
+ "name": "UltraSSD_LRS",
+ "tier": "Ultra"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty",
+ "logicalSectorSize": 512
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk",
+ "sku": {
+ "name": "UltraSSD_LRS",
+ "tier": "Ultra"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithSSDZRSAccountType.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithSSDZRSAccountType.json
new file mode 100644
index 000000000000..5fa4f3fa0b1d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithSSDZRSAccountType.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "sku": {
+ "name": "Premium_ZRS"
+ },
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk",
+ "sku": {
+ "name": "Premium_ZRS",
+ "tier": "Premium"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk",
+ "sku": {
+ "name": "Premium_ZRS",
+ "tier": "Premium"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithSecurityProfile.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithSecurityProfile.json
new file mode 100644
index 000000000000..dd08cb060e2e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedDiskWithSecurityProfile.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "North Central US",
+ "properties": {
+ "osType": "Windows",
+ "securityProfile": {
+ "securityType": "TrustedLaunch"
+ },
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "North Central US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "securityProfile": {
+ "securityType": "TrustedLaunch"
+ },
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "North Central US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "securityProfile": {
+ "securityType": "TrustedLaunch"
+ },
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedUploadDisk.json
new file mode 100644
index 000000000000..00a1ce4c8f8c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAManagedUploadDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Upload",
+ "uploadSizeBytes": 10737418752
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..c92c66e3530f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..dc46d4ea4d98
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "snapshotName": "mySnapshot1",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "mySnapshot1"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateASnapshotFromAnExistingSnapshot.json
new file mode 100644
index 000000000000..d0785fe0bac4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateASnapshotFromAnExistingSnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "snapshotName": "mySnapshot2",
+ "snapshot": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "mySnapshot2",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAnEmptyManagedDisk.json
new file mode 100644
index 000000000000..e578f675d3fb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAnEmptyManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAnEmptyManagedDiskInExtendedLocation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAnEmptyManagedDiskInExtendedLocation.json
new file mode 100644
index 000000000000..cfeee2df7877
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateAnEmptyManagedDiskInExtendedLocation.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "extendedLocation": {
+ "type": "EdgeZone",
+ "name": "{edge-zone-id}"
+ },
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk",
+ "extendedLocation": {
+ "type": "EdgeZone",
+ "name": "{edge-zone-id}"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk",
+ "extendedLocation": {
+ "type": "EdgeZone",
+ "name": "{edge-zone-id}"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json
new file mode 100644
index 000000000000..d814c9c60c62
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "properties": {
+ "diskSizeGB": 1024,
+ "burstingEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 1024,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 1024,
+ "burstingEnabled": true,
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteADiskAccess.json
new file mode 100644
index 000000000000..8e954c720ee2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteADiskAccess.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskAccessName": "myDiskAccess",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteADiskEncryptionSet.json
new file mode 100644
index 000000000000..5b1fc5d7f6f9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteADiskEncryptionSet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteAPrivateEndpointConnection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteAPrivateEndpointConnection.json
new file mode 100644
index 000000000000..9bc5df735ad2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/DeleteAPrivateEndpointConnection.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskAccessName": "myDiskAccess",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetDiskAccessPrivateLinkResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetDiskAccessPrivateLinkResources.json
new file mode 100644
index 000000000000..0c047dd8f873
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetDiskAccessPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskAccessName": "myDiskAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateLinkResources/disks",
+ "name": "disks",
+ "type": "Microsoft.Compute/diskAccesses/privateLinkResources",
+ "properties": {
+ "groupId": "disks",
+ "requiredMembers": [
+ "diskAccess_1"
+ ],
+ "requiredZoneNames": [
+ "privatelink.blob.core.windows.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetDiskRestorePointResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetDiskRestorePointResources.json
new file mode 100644
index 000000000000..2913f4a63d18
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetDiskRestorePointResources.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpc",
+ "vmRestorePointName": "vmrp",
+ "diskRestorePointName": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpc/restorePoints/vmrp/diskRestorePoints/TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745",
+ "name": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745",
+ "properties": {
+ "timeCreated": "2020-09-16T04:41:35.079872+00:00",
+ "sourceResourceId": "/subscriptions/d2260d06-e00d-422f-8b63-93df551a59ae/resourceGroups/rg0680fb0c-89f1-41b4-96c0-35733a181558/providers/Microsoft.Compute/disks/TestDisk45ceb03433006d1baee0",
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "familyId": "996bf3ce-b6ff-4e86-9db6-dc27ea06cea5",
+ "sourceUniqueId": "48e058b1-7eea-4968-b532-10a8a1130c13"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutADiskAccess.json
new file mode 100644
index 000000000000..38bd1154ae96
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutADiskAccess.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskAccessName": "myDiskAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00"
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "name": "myDiskAccess"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json
new file mode 100644
index 000000000000..03b5e54de1f6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskAccessName": "myDiskAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00",
+ "privateEndpointConnections": [
+ {
+ "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Auto-Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "name": "myDiskAccess"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutADiskEncryptionSet.json
new file mode 100644
index 000000000000..64732c0af137
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutADiskEncryptionSet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutAManagedDisk.json
new file mode 100644
index 000000000000..d3556997c0b6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutAManagedDisk.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myManagedDisk"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "managedBy": "/subscriptions/123caaa-123v-v211-a49f-f88ccac5bf88/resourceGroups/ResourceGroupName/providers/Microsoft.Compute/virtualMachines/TestVM414689371c88843d65ec",
+ "sku": {
+ "name": "Standard_LRS"
+ },
+ "properties": {
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "purchasePlan": {
+ "name": "test_sku",
+ "publisher": "test_test_pmc2pc1",
+ "product": "marketplace_vm_test"
+ },
+ "supportsHibernation": true,
+ "securityProfile": {
+ "securityType": "TrustedLaunch"
+ },
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0"
+ }
+ },
+ "diskSizeGB": 10,
+ "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-12-01/examples/GetInformationAboutAPrivateEndpointConnection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutAPrivateEndpointConnection.json
new file mode 100644
index 000000000000..218868a1b46a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutAPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskAccessName": "myDiskAccess",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myPrivateEndpointConnection",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Auto-Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutASnapshot.json
new file mode 100644
index 000000000000..25f7e3e18032
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/GetInformationAboutASnapshot.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "snapshotName": "mySnapshot"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "purchasePlan": {
+ "name": "test_sku",
+ "publisher": "test_test_pmc2pc1",
+ "product": "marketplace_vm_test"
+ },
+ "supportsHibernation": true,
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk",
+ "sourceUniqueId": "d633885d-d102-4481-901e-5b2413d1a7be"
+ },
+ "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-12-01/examples/ListDiskAccessesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskAccessesInAResourceGroup.json
new file mode 100644
index 000000000000..a558742eadb0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskAccessesInAResourceGroup.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00"
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "name": "myDiskAccess"
+ },
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00",
+ "privateEndpointConnections": [
+ {
+ "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Auto-Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2",
+ "name": "myDiskAccess2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskAccessesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskAccessesInASubscription.json
new file mode 100644
index 000000000000..dc30fc145b91
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskAccessesInASubscription.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00"
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
+ "name": "myDiskAccess"
+ },
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "timeCreated": "2020-05-01T04:41:35.079872+00:00",
+ "privateEndpointConnections": [
+ {
+ "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Auto-Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Compute/diskAccesses",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2",
+ "name": "myDiskAccess2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskEncryptionSetAssociatedResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskEncryptionSetAssociatedResources.json
new file mode 100644
index 000000000000..d753f3137607
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskEncryptionSetAssociatedResources.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskEncryptionSetsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskEncryptionSetsInAResourceGroup.json
new file mode 100644
index 000000000000..7cd22c2a2280
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskEncryptionSetsInAResourceGroup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ },
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2",
+ "name": "myDiskEncryptionSet2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskEncryptionSetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskEncryptionSetsInASubscription.json
new file mode 100644
index 000000000000..2241ed17cf14
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskEncryptionSetsInASubscription.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "name": "myDiskEncryptionSet"
+ },
+ {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2",
+ "name": "myDiskEncryptionSet2"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskRestorePointsInVmRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskRestorePointsInVmRestorePoint.json
new file mode 100644
index 000000000000..a716c0d44bfd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListDiskRestorePointsInVmRestorePoint.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "restorePointCollectionName": "rpc",
+ "vmRestorePointName": "vmrp",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpc/restorePoints/vmrp/diskRestorePoints/TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745",
+ "name": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745",
+ "properties": {
+ "timeCreated": "2020-09-16T04:41:35.079872+00:00",
+ "sourceResourceId": "/subscriptions/d2260d06-e00d-422f-8b63-93df551a59ae/resourceGroups/rg0680fb0c-89f1-41b4-96c0-35733a181558/providers/Microsoft.Compute/disks/TestDisk45ceb03433006d1baee0",
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "familyId": "996bf3ce-b6ff-4e86-9db6-dc27ea06cea5",
+ "sourceUniqueId": "48e058b1-7eea-4968-b532-10a8a1130c13"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListManagedDisksInAResourceGroup.json
new file mode 100644
index 000000000000..92f46adbecc8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListManagedDisksInAResourceGroup.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk",
+ "name": "myManagedDisk3"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListManagedDisksInASubscription.json
new file mode 100644
index 000000000000..d45e14acd825
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListManagedDisksInASubscription.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1",
+ "name": "myManagedDisk1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.872242+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2",
+ "name": "myManagedDisk2"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:36.3973934+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/disks",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "ManagedDisks"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk3",
+ "name": "myManagedDisk3"
+ }
+ ],
+ "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListPrivateEndpointConnectionsInADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListPrivateEndpointConnectionsInADiskAccess.json
new file mode 100644
index 000000000000..d583ccc3a885
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListPrivateEndpointConnectionsInADiskAccess.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskAccessName": "myDiskAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myPrivateEndpointConnection",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "actionsRequired": "None",
+ "description": "Auto-Approved",
+ "status": "Approved"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListSnapshotsInAResourceGroup.json
new file mode 100644
index 000000000000..1c9089c847be
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListSnapshotsInAResourceGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.9278721+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListSnapshotsInASubscription.json
new file mode 100644
index 000000000000..11e60baf95e9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/ListSnapshotsInASubscription.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Copy",
+ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:47:30.6630569+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1",
+ "name": "mySnapshot1"
+ },
+ {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Import",
+ "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "diskSizeGB": 200,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:47:30.3247198+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2",
+ "name": "mySnapshot2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskAccess.json
new file mode 100644
index 000000000000..0d325ed99969
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskAccess.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "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-12-01/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskEncryptionSet.json
new file mode 100644
index 000000000000..172854153f4f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskEncryptionSet.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/keyName/keyVersion"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey"
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/keyName/keyVersion"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/keyName/keyVersion"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": [],
+ "lastKeyRotationTimestamp": "2020-12-01T04:41:35.079872+00:00"
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json
new file mode 100644
index 000000000000..e5455bc5046a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "rotationToLatestKeyVersionEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/KeyVersion2"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "rotationToLatestKeyVersionEnabled": true,
+ "provisioningState": "Succeeded",
+ "lastKeyRotationTimestamp": "2020-12-01T04:41:35.079872+00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json
new file mode 100644
index 000000000000..0e3093838a80
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "rotationToLatestKeyVersionEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
+ "type": "Microsoft.Compute/diskEncryptionSets",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion2"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "rotationToLatestKeyVersionEnabled": true,
+ "previousKeys": [
+ {
+ "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1"
+ }
+ ],
+ "provisioningState": "Updating",
+ "lastKeyRotationTimestamp": "2020-12-01T04:41:35.079872+00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToAddPurchasePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToAddPurchasePlan.json
new file mode 100644
index 000000000000..3a062254426b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToAddPurchasePlan.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "properties": {
+ "purchasePlan": {
+ "name": "myPurchasePlanName",
+ "publisher": "myPurchasePlanPublisher",
+ "product": "myPurchasePlanProduct",
+ "promotionCode": "myPurchasePlanPromotionCode"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "westus",
+ "sku": {
+ "name": "Standard_LRS",
+ "tier": "Standard"
+ },
+ "properties": {
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "purchasePlan": {
+ "name": "myPurchasePlanName",
+ "publisher": "myPurchasePlanPublisher",
+ "product": "myPurchasePlanProduct",
+ "promotionCode": "myPurchasePlanPromotionCode"
+ },
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0"
+ }
+ },
+ "diskSizeGB": 127,
+ "provisioningState": "Updating"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "westus",
+ "sku": {
+ "name": "Standard_LRS",
+ "tier": "Standard"
+ },
+ "properties": {
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "purchasePlan": {
+ "name": "myPurchasePlanName",
+ "publisher": "myPurchasePlanPublisher",
+ "product": "myPurchasePlanProduct",
+ "promotionCode": "myPurchasePlanPromotionCode"
+ },
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0"
+ }
+ },
+ "diskSizeGB": 127,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json
new file mode 100644
index 000000000000..fb95fcb3b9d1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "properties": {
+ "supportsHibernation": true
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "westus",
+ "sku": {
+ "name": "Standard_LRS",
+ "tier": "Standard"
+ },
+ "properties": {
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "supportsHibernation": true,
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "diskSizeGB": 127,
+ "provisioningState": "Updating"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "westus",
+ "sku": {
+ "name": "Standard_LRS",
+ "tier": "Standard"
+ },
+ "properties": {
+ "osType": "Windows",
+ "hyperVGeneration": "V1",
+ "supportsHibernation": true,
+ "creationData": {
+ "createOption": "Import",
+ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
+ },
+ "diskSizeGB": 127,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToChangeTier.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToChangeTier.json
new file mode 100644
index 000000000000..1e64a8c670c4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToChangeTier.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "properties": {
+ "tier": "P30"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "provisioningState": "Updating",
+ "tier": "P10",
+ "propertyUpdatesInProgress": {
+ "targetTier": "P30"
+ }
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "provisioningState": "Succeeded",
+ "tier": "P30"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToDisableBursting.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToDisableBursting.json
new file mode 100644
index 000000000000..34106186ca1e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToDisableBursting.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "diskName": "myDisk",
+ "disk": {
+ "properties": {
+ "burstingEnabled": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json
new file mode 100644
index 000000000000..d94d99d912a3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-12-01",
+ "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.az.md b/specification/compute/resource-manager/readme.az.md
index 0c0bef6618ee..bc12b50feae6 100644
--- a/specification/compute/resource-manager/readme.az.md
+++ b/specification/compute/resource-manager/readme.az.md
@@ -2,13 +2,60 @@
These settings apply only when `--az` is specified on the command line.
+``` yaml $(az) && $(cloudservice)
+tag: package-2020-10-01-preview-only
+az:
+ extensions: cloud-service
+ namespace: azure.mgmt.compute
+ package-name: azure-mgmt-compute
+az-output-folder: $(azure-cli-extension-folder)/src/cloudservice
+python-sdk-output-folder: $(az-output-folder)/azext_cloudservice/vendored_sdks/cloudservice
+cli:
+ cli-directive:
+ - where:
+ group: "*"
+ op: "*"
+ hidden: true
+ - where:
+ group: "CloudServiceRoleInstances"
+ op: "*"
+ hidden: false
+ - where:
+ group: "CloudServiceRoles"
+ op: "*"
+ hidden: false
+ - where:
+ group: "CloudServices"
+ op: "*"
+ hidden: false
+ - where:
+ group: "CloudServicesUpdateDomain"
+ op: "*"
+ hidden: false
+directive:
+ - where:
+ group: cloud-service cloud-service-role-instance
+ set:
+ group: cloud-service role-instance
+ - where:
+ group: cloud-service cloud-service-role
+ set:
+ group: cloud-service role
+ - where:
+ group: cloud-service cloud-service-update-domain
+ set:
+ group: cloud-service update-domain
+```
+
``` yaml $(az) && $(target-mode) == "core"
+tag: package-2020-12-01-only
az:
extensions: vm
namespace: azure.mgmt.compute
package-name: azure-mgmt-compute
az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/vm
python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/vm"
+extension-mode: stable
compatible-level: track2
cli:
cli-directive:
@@ -20,6 +67,10 @@ cli:
group: "SshPublicKeys"
op: "*"
hidden: false
+ - where:
+ group: "SshPublicKeys"
+ op: "GenerateKeyPair"
+ hidden: true
- where:
group: "*"
op: "*"
@@ -27,7 +78,7 @@ cli:
alias: name
directive:
- where:
- command: vm ssh-public-key
+ group: vm ssh-public-key
set:
- command: sshkey
+ group: sshkey
```
diff --git a/specification/compute/resource-manager/readme.azureresourceschema.md b/specification/compute/resource-manager/readme.azureresourceschema.md
index a7370a636445..cee08b2b6775 100644
--- a/specification/compute/resource-manager/readme.azureresourceschema.md
+++ b/specification/compute/resource-manager/readme.azureresourceschema.md
@@ -10,6 +10,7 @@ batch:
- tag: schema-containerservice-2016-09-30
- tag: schema-containerservice-2016-03-30
- tag: schema-containerservice-2015-11-01-preview
+ - tag: schema-compute-2021-03-01
- tag: schema-compute-2020-12-01
- tag: schema-compute-2020-10-01-preview
- tag: schema-compute-2020-09-30
@@ -80,6 +81,17 @@ input-file:
```
+### Tag: schema-compute-2021-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2021-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2021-03-01/cloudService.json
+
+```
+
### Tag: schema-compute-2020-12-01 and azureresourceschema
``` yaml $(tag) == 'schema-compute-2020-12-01' && $(azureresourceschema)
@@ -89,6 +101,7 @@ output-folder: $(azureresourceschema-folder)/schemas
input-file:
- Microsoft.Compute/stable/2020-12-01/compute.json
- Microsoft.Compute/stable/2020-12-01/runCommands.json
+ - Microsoft.Compute/stable/2020-12-01/disk.json
```
@@ -110,6 +123,8 @@ output-folder: $(azureresourceschema-folder)/schemas
# all the input files in this apiVersion
input-file:
+ - Microsoft.Compute/stable/2020-09-30/gallery.json
+ - Microsoft.Compute/stable/2020-09-30/sharedGallery.json
- Microsoft.Compute/stable/2020-09-30/disk.json
- Microsoft.Compute/preview/2020-09-30/gallery.json
- Microsoft.Compute/preview/2020-09-30/sharedGallery.json
diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md
index caf87f7f9240..52e56f51a253 100644
--- a/specification/compute/resource-manager/readme.go.md
+++ b/specification/compute/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
directive:
@@ -31,6 +31,7 @@ directive:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-03-01
- tag: package-2020-12-01
- tag: package-2020-10-01-preview
- tag: profile-hybrid-2020-09-01
@@ -54,6 +55,16 @@ batch:
- tag: package-container-service-2015-11-preview
```
+### Tag: package-2021-03-01 and go
+
+These settings apply only when `--tag=package-2021-03-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag)=='package-2021-03-01' && $(go)
+namespace: compute
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-03-01/$(namespace)
+```
+
### Tag: package-2020-12-01 and go
These settings apply only when `--tag=package-2020-12-01 --go` is specified on the command line.
diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md
index 80652695642b..831d6a59f934 100644
--- a/specification/compute/resource-manager/readme.md
+++ b/specification/compute/resource-manager/readme.md
@@ -223,8 +223,9 @@ input-file:
- Microsoft.Compute/stable/2020-12-01/compute.json
- Microsoft.Compute/stable/2020-12-01/runCommands.json
- Microsoft.Compute/stable/2019-04-01/skus.json
-- Microsoft.Compute/stable/2020-09-30/disk.json
-- Microsoft.Compute/stable/2019-12-01/gallery.json
+- Microsoft.Compute/stable/2020-12-01/disk.json
+- Microsoft.Compute/stable/2020-09-30/gallery.json
+- Microsoft.Compute/stable/2020-09-30/sharedGallery.json
- Microsoft.Compute/stable/2021-03-01/cloudService.json
```
@@ -246,7 +247,7 @@ input-file:
- Microsoft.Compute/stable/2020-12-01/compute.json
- Microsoft.Compute/stable/2020-12-01/runCommands.json
- Microsoft.Compute/stable/2019-04-01/skus.json
-- Microsoft.Compute/stable/2020-09-30/disk.json
+- Microsoft.Compute/stable/2020-12-01/disk.json
- Microsoft.Compute/stable/2019-12-01/gallery.json
```
@@ -256,6 +257,7 @@ These settings apply only when `--tag=package-2020-12-01-only` is specified on t
``` yaml $(tag) == 'package-2020-12-01-only'
input-file:
+- Microsoft.Compute/stable/2020-12-01/disk.json
- Microsoft.Compute/stable/2020-12-01/compute.json
- Microsoft.Compute/stable/2020-12-01/runCommands.json
```
diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md
index 0a5d12a7f0b6..a1a92f907da5 100644
--- a/specification/compute/resource-manager/readme.python.md
+++ b/specification/compute/resource-manager/readme.python.md
@@ -35,6 +35,7 @@ Generate all API versions currently shipped for this package
```yaml $(multiapi)
clear-output-folder: true
batch:
+ - tag: package-2021-03-01-only
- tag: package-2020-12-01-only
- tag: package-2020-10-01-preview-only
- tag: package-2020-09-30-only
@@ -65,6 +66,16 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-03-01-only
+
+These settings apply only when `--tag=package-2021-03-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-03-01-only'
+namespace: azure.mgmt.compute.v2021_03_01
+output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_03_01
+```
+
### Tag: package-2020-12-01-only and python
These settings apply only when `--tag=package-2020-12-01-only --python` is specified on the command line.
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json
index a6d3dd0c4e8f..da5066749b97 100644
--- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json
@@ -512,13 +512,46 @@
"modelAsString": true
}
},
- "ConfidentialLedgerCertUser": {
+ "LedgerRoleName": {
+ "description": "LedgerRole associated with the Security Principal of Ledger",
+ "type": "string",
+ "enum": [
+ "Reader",
+ "Contributor",
+ "Administrator"
+ ],
+ "x-ms-enum": {
+ "name": "LedgerRoleName",
+ "modelAsString": true
+ }
+ },
+ "CertBasedSecurityPrincipal": {
"type": "object",
- "description": "User cert and permissions associated with that user",
+ "description": "Cert based security principal with Ledger RoleName",
"properties": {
"cert": {
"description": "Base64 encoded public key of the user cert (.pem or .cer)",
"type": "string"
+ },
+ "ledgerRoleName": {
+ "$ref": "#/definitions/LedgerRoleName"
+ }
+ }
+ },
+ "AADBasedSecurityPrincipal": {
+ "type": "object",
+ "description": "AAD based security principal with associated Ledger RoleName",
+ "properties": {
+ "principalId": {
+ "description": "UUID/GUID based Principal Id of the Security Principal",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "UUID/GUID based Tenant Id of the Security Principal",
+ "type": "string"
+ },
+ "ledgerRoleName": {
+ "$ref": "#/definitions/LedgerRoleName"
}
}
},
@@ -560,11 +593,18 @@
"readOnly": true,
"$ref": "#/definitions/ProvisioningState"
},
- "certUsers": {
- "description": "Array of all the cert based users who can access Confidential Ledger",
+ "aadBasedSecurityPrincipals": {
+ "description": "Array of all AAD based Security Principals.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AADBasedSecurityPrincipal"
+ }
+ },
+ "certBasedSecurityPrincipals": {
+ "description": "Array of all cert based Security Principals.",
"type": "array",
"items": {
- "$ref": "#/definitions/ConfidentialLedgerCertUser"
+ "$ref": "#/definitions/CertBasedSecurityPrincipal"
}
}
}
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Create.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Create.json
index f373953993fc..7a957c0cc458 100644
--- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Create.json
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Create.json
@@ -8,9 +8,17 @@
"properties": {
"ledgerStorageAccount": "dummyStorageAccount",
"ledgerType": "Public",
- "certUsers": [
+ "aadBasedSecurityPrincipals": [
{
- "cert": "MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd"
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
+ }
+ ],
+ "certBasedSecurityPrincipals": [
+ {
+ "cert": "-----BEGIN CERTIFICATE-----\nMIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd\n-----END CERTIFICATE-----",
+ "ledgerRoleName": "Reader"
}
]
},
@@ -31,14 +39,22 @@
"ledgerType": "Public",
"ledgerInternalNamespace": "dummyNamespace",
"provisioningState": "Succeeded",
- "certUsers": [
+ "aadBasedSecurityPrincipals": [
+ {
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
+ }
+ ],
+ "certBasedSecurityPrincipals": [
{
- "cert": "MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd"
+ "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----",
+ "ledgerRoleName": "Reader"
}
]
},
"name": "DummyLedgerName",
- "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/TestRG/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
"type": "Microsoft.ConfidentialLedger/ledgers",
"location": "WestUS",
"tags": {
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Get.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Get.json
index b510e83b7742..7720c96435f9 100644
--- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Get.json
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Get.json
@@ -16,14 +16,16 @@
"ledgerType": "Public",
"ledgerInternalNamespace": "dummyNamespace",
"provisioningState": "Succeeded",
- "certUsers": [
+ "aadBasedSecurityPrincipals": [
{
- "cert": "MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd"
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
}
]
},
"name": "DummyLedgerName",
- "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/TestRG/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
"type": "Microsoft.ConfidentialLedger/ledgers",
"location": "WestUS",
"tags": {
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_List.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_List.json
index c1bb3f51e364..11489c7d2644 100644
--- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_List.json
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_List.json
@@ -17,14 +17,16 @@
"ledgerType": "Public",
"ledgerInternalNamespace": "dummyNamespace",
"provisioningState": "Succeeded",
- "certUsers": [
+ "aadBasedSecurityPrincipals": [
{
- "cert": "MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd"
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
}
]
},
"name": "DummyLedgerName",
- "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/TestRG/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
"type": "Microsoft.ConfidentialLedger/ledgers",
"location": "WestUS",
"tags": {
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_ListBySub.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_ListBySub.json
index 9c95b373d346..b42f440f94cd 100644
--- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_ListBySub.json
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_ListBySub.json
@@ -16,14 +16,15 @@
"ledgerType": "Public",
"ledgerInternalNamespace": "dummyNamespace",
"provisioningState": "Succeeded",
- "certUsers": [
+ "certBasedSecurityPrincipals": [
{
- "cert": "MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd"
+ "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----",
+ "ledgerRoleName": "Reader"
}
]
},
"name": "DummyLedgerName",
- "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/TestRG/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
"type": "Microsoft.ConfidentialLedger/ledgers",
"location": "WestUS",
"tags": {
diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Update.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Update.json
index 01cd38edf789..a563abdc54af 100644
--- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Update.json
+++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/examples/ConfidentialLedger_Update.json
@@ -6,12 +6,7 @@
"ledgerName": "DummyLedgerName",
"confidentialLedger": {
"properties": {
- "ledgerStorageAccount": "dummyStorageAccount",
- "certUsers": [
- {
- "cert": "MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd"
- }
- ]
+ "ledgerStorageAccount": "dummyStorageAccount"
},
"tags": {
"additionalProps1": "additional properties",
@@ -30,14 +25,16 @@
"ledgerType": "Public",
"ledgerInternalNamespace": "dummyNamespace",
"provisioningState": "Succeeded",
- "certUsers": [
+ "aadBasedSecurityPrincipals": [
{
- "cert": "MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd"
+ "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e",
+ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08",
+ "ledgerRoleName": "Administrator"
}
]
},
"name": "DummyLedgerName",
- "id": "/subscriptions/00000000-0000-0000-0000-000000000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000001/resourceGroups/TestRG/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName",
"type": "Microsoft.ConfidentialLedger/ledgers",
"location": "WestUS",
"tags": {
diff --git a/specification/confidentialledger/resource-manager/readme.go.md b/specification/confidentialledger/resource-manager/readme.go.md
index ed8c8abe0c2c..44efe957d751 100644
--- a/specification/confidentialledger/resource-manager/readme.go.md
+++ b/specification/confidentialledger/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: confidentialledger
clear-output-folder: true
```
diff --git a/specification/confidentialledger/resource-manager/readme.md b/specification/confidentialledger/resource-manager/readme.md
index 46c7af381c97..b34f5f14c2cb 100644
--- a/specification/confidentialledger/resource-manager/readme.md
+++ b/specification/confidentialledger/resource-manager/readme.md
@@ -51,7 +51,7 @@ This is not used by Autorest itself.
```yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/confidentialledger/resource-manager/readme.python.md b/specification/confidentialledger/resource-manager/readme.python.md
index d51e32acadda..a6e32f44c2cd 100644
--- a/specification/confidentialledger/resource-manager/readme.python.md
+++ b/specification/confidentialledger/resource-manager/readme.python.md
@@ -4,18 +4,15 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
```yaml $(python)
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: microsoft.confidentialledger
- package-name: azure-mgmt-confidentialledger
- package-version: 0.0.1
- clear-output-folder: true
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: microsoft.confidentialledger
+package-name: azure-mgmt-confidentialledger
+package-version: 0.0.1
+clear-output-folder: true
```
```yaml $(python)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger/azure/mgmt/confidentialledger
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger/azure/mgmt/confidentialledger
```
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/confluent.json
new file mode 100644
index 000000000000..cde91fc023d3
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/confluent.json
@@ -0,0 +1,897 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft.Confluent",
+ "version": "2021-03-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/agreements": {
+ "get": {
+ "tags": [
+ "Agreements"
+ ],
+ "summary": "List Confluent marketplace agreements in the subscription.",
+ "operationId": "MarketplaceAgreements_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ConfluentAgreementResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "MarketplaceAgreements_List": {
+ "$ref": "./examples/MarketplaceAgreements_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/agreements/default": {
+ "put": {
+ "tags": [
+ "Agreements"
+ ],
+ "summary": "Create Confluent Marketplace agreement in the subscription.",
+ "operationId": "MarketplaceAgreements_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Confluent Marketplace Agreement resource",
+ "schema": {
+ "$ref": "#/definitions/ConfluentAgreementResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ConfluentAgreementResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MarketplaceAgreements_Create": {
+ "$ref": "./examples/MarketplaceAgreements_Create.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Confluent/operations": {
+ "get": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "List all operations provided by Microsoft.Confluent.",
+ "operationId": "OrganizationOperations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OrganizationOperations_List": {
+ "$ref": "./examples/OrganizationOperations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/organizations": {
+ "get": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "List all organizations under the specified subscription.",
+ "operationId": "Organization_ListBySubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Organization_ListBySubscription": {
+ "$ref": "./examples/Organization_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations": {
+ "get": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "List all Organizations under the specified resource group.",
+ "operationId": "Organization_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Organization_ListByResourceGroup": {
+ "$ref": "./examples/Organization_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations/{organizationName}": {
+ "get": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "Get the properties of a specific Organization resource.",
+ "operationId": "Organization_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/OrganizationResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Organization_Get": {
+ "$ref": "./examples/Organization_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "Create Organization resource",
+ "operationId": "Organization_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/OrganizationResourceNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Organization resource model",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Organization_Create": {
+ "$ref": "./examples/Organization_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "Update Organization resource",
+ "operationId": "Organization_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/OrganizationResourceNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Updated Organization resource",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResourceUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Confluent_Update": {
+ "$ref": "./examples/Organization_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Organization"
+ ],
+ "summary": "Delete Organization resource",
+ "operationId": "Organization_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/OrganizationResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "The specified confluent resource does not exist in the subscription."
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Confluent_Delete": {
+ "$ref": "./examples/Organization_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConfluentAgreementProperties": {
+ "description": "Terms properties for Marketplace and Confluent.",
+ "type": "object",
+ "properties": {
+ "publisher": {
+ "description": "Publisher identifier string.",
+ "type": "string"
+ },
+ "product": {
+ "description": "Product identifier string.",
+ "type": "string"
+ },
+ "plan": {
+ "description": "Plan identifier string.",
+ "type": "string"
+ },
+ "licenseTextLink": {
+ "description": "Link to HTML with Microsoft and Publisher terms.",
+ "type": "string"
+ },
+ "privacyPolicyLink": {
+ "description": "Link to the privacy policy of the publisher.",
+ "type": "string"
+ },
+ "retrieveDatetime": {
+ "format": "date-time",
+ "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false.",
+ "type": "string"
+ },
+ "signature": {
+ "description": "Terms signature.",
+ "type": "string"
+ },
+ "accepted": {
+ "description": "If any version of the terms have been accepted, otherwise false.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ConfluentAgreementResource": {
+ "description": "Agreement Terms definition",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "The ARM id of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the agreement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the agreement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConfluentAgreementProperties",
+ "description": "Represents the properties of the resource."
+ }
+ }
+ },
+ "ConfluentAgreementResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfluentAgreementResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.Confluent",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Type on which the operation is performed, e.g., 'clusters'.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type, e.g., read, write, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation, e.g., 'Write confluent'.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationResult": {
+ "description": "An Confluent REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "$ref": "#/definitions/OperationDisplay"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of GET request to list Confluent operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of Confluent operations supported by the Microsoft.Confluent provider.",
+ "type": "array",
+ "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",
+ "readOnly": true
+ },
+ "organizationId": {
+ "description": "Id of the Confluent organization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ssoUrl": {
+ "description": "SSO url for the Confluent organization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "offerDetail": {
+ "description": "Confluent offer detail",
+ "$ref": "#/definitions/OfferDetail"
+ },
+ "userDetail": {
+ "description": "Subscriber detail",
+ "$ref": "#/definitions/UserDetail"
+ }
+ }
+ },
+ "OrganizationResource": {
+ "description": "Organization resource.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "The ARM id of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Organization resource properties",
+ "$ref": "#/definitions/OrganizationResourceProperties"
+ },
+ "tags": {
+ "type": "object",
+ "description": "Organization resource tags",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "description": "Location of Organization resource",
+ "type": "string"
+ }
+ }
+ },
+ "OrganizationResourceListResult": {
+ "description": "The response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Result of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrganizationResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "OrganizationResourceUpdate": {
+ "description": "Organization Resource update",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "ARM resource tags",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2021-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/2021-03-01-preview/examples/MarketplaceAgreements_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/MarketplaceAgreements_Create.json
new file mode 100644
index 000000000000..c97b60bf951d
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/MarketplaceAgreements_Create.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "requestBody": {
+ "properties": {
+ "accepted": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements/default",
+ "name": "default",
+ "type": "Microsoft.Confluent/agreements",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-05-09T14:28:47.284Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-09T14:28:47.284Z"
+ },
+ "properties": {
+ "publisher": "pubid1",
+ "product": "offid1",
+ "plan": "planid1",
+ "licenseTextLink": "test.licenseLink1",
+ "privacyPolicyLink": "test.privacyPolicyLink1",
+ "retrieveDatetime": "2020-11-05T17:33:07.12132Z",
+ "signature": "YKWOQOKH2BCKZ46O7SCKHANWEENRFRU5WB4LXDFUYWCBWTS4AG4SGQXCOZYIR5ZJCZTXRMZKYZMO2BJSL5YKPLAR4LBFRUNS6CRYE7A",
+ "accepted": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/MarketplaceAgreements_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/MarketplaceAgreements_List.json
new file mode 100644
index 000000000000..13940b0a4ca9
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/MarketplaceAgreements_List.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements/default",
+ "name": "planid1",
+ "type": "Microsoft.Confluent/agreements",
+ "properties": {
+ "publisher": "pubid1",
+ "product": "offid1",
+ "plan": "planid1",
+ "licenseTextLink": "test.licenseLink1",
+ "privacyPolicyLink": "test.privacyPolicyLink1",
+ "retrieveDatetime": "2017-08-15T11:33:07.12132Z",
+ "signature": "ASDFSDAFWEFASDGWERLWER",
+ "accepted": true
+ }
+ },
+ {
+ "id": "id2",
+ "name": "planid2",
+ "type": "Microsoft.MarketplaceOrdering/offertypes",
+ "properties": {
+ "publisher": "pubid2",
+ "product": "offid2",
+ "plan": "planid2",
+ "licenseTextLink": "test.licenseLin2k",
+ "privacyPolicyLink": "test.privacyPolicyLink2",
+ "retrieveDatetime": "2017-08-14T11:33:07.12132Z",
+ "signature": "ASDFSDAFWEFASDGWERLWER",
+ "accepted": true
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/OrganizationOperations_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/OrganizationOperations_List.json
new file mode 100644
index 000000000000..26cd3ee55012
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/OrganizationOperations_List.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Confluent/organizations/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.Confluent",
+ "resource": "organizations",
+ "operation": "Get/List organization resources",
+ "description": "Read organization"
+ }
+ },
+ {
+ "name": "Microsoft.Confluent/organizations/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.Confluent",
+ "resource": "organizations",
+ "operation": "Create/Update organization resources",
+ "description": "Write organization"
+ }
+ },
+ {
+ "name": "Microsoft.Confluent/organizations/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.Confluent",
+ "resource": "organizations",
+ "operation": "Delete organization resources",
+ "description": "Delete organization"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Create.json
new file mode 100644
index 000000000000..d1b7232194e5
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Create.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-05-09T14:28:47.284Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-09T14:28:47.284Z"
+ },
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Succeeded",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization",
+ "name": "myOrganization",
+ "type": "Microsoft.Confluent/organizations",
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Accepted",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Delete.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Delete.json
new file mode 100644
index 000000000000..e701a7776bfa
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-03-01-preview/examples/Organization_Get.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Get.json
new file mode 100644
index 000000000000..be75cb6ba27d
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Get.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-05-09T14:28:47.284Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-09T14:28:47.284Z"
+ },
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Accepted",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_ListByResourceGroup.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_ListByResourceGroup.json
new file mode 100644
index 000000000000..4b67b32e1bbd
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_ListByResourceGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-03-01-preview/examples/Organization_ListBySubscription.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_ListBySubscription.json
new file mode 100644
index 000000000000..cbc559f4816b
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_ListBySubscription.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-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/2021-03-01-preview/examples/Organization_Update.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Update.json
new file mode 100644
index 000000000000..ca990b4db79e
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/examples/Organization_Update.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-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",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-05-09T14:28:47.284Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-09T14:28:47.284Z"
+ },
+ "properties": {
+ "createdTime": "2020-05-09T14:28:47.284Z",
+ "provisioningState": "Succeeded",
+ "organizationId": "string",
+ "ssoUrl": "string",
+ "offerDetail": {
+ "publisherId": "string",
+ "id": "string",
+ "planId": "string",
+ "planName": "string",
+ "termUnit": "string",
+ "status": "Started"
+ },
+ "userDetail": {
+ "firstName": "string",
+ "lastName": "string",
+ "emailAddress": "contoso@microsoft.com"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2020-03-01/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2020-03-01/confluent.json
index ca70806c77f9..a5d955874d8a 100644
--- a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2020-03-01/confluent.json
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2020-03-01/confluent.json
@@ -602,6 +602,7 @@
},
"nextLink": {
"description": "URL to get the next set of operation list results if there are any.",
+ "readOnly": true,
"type": "string"
}
}
@@ -720,7 +721,8 @@
},
"status": {
"description": "SaaS Offer Status",
- "$ref": "#/definitions/SaaSOfferStatus"
+ "$ref": "#/definitions/SaaSOfferStatus",
+ "readOnly": true
}
}
},
diff --git a/specification/confluent/resource-manager/readme.az.md b/specification/confluent/resource-manager/readme.az.md
index 237bedf87dc8..8f107728791a 100644
--- a/specification/confluent/resource-manager/readme.az.md
+++ b/specification/confluent/resource-manager/readme.az.md
@@ -30,4 +30,3 @@ cli:
param: provisioningState
hidden: true
```
-
diff --git a/specification/confluent/resource-manager/readme.azureresourceschema.md b/specification/confluent/resource-manager/readme.azureresourceschema.md
index 6397c3480fd8..06fb19ed26e3 100644
--- a/specification/confluent/resource-manager/readme.azureresourceschema.md
+++ b/specification/confluent/resource-manager/readme.azureresourceschema.md
@@ -6,13 +6,25 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
- - tag: schema-confluent-2020-03-01-preview
- tag: schema-confluent-2020-03-01
+ - tag: schema-confluent-2020-03-01-preview
+ - tag: schema-confluent-2021-03-01-preview
```
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-confluent-2020-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-confluent-2020-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Confluent/stable/2020-03-01/confluent.json
+
+```
+
### Tag: schema-confluent-2020-03-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-confluent-2020-03-01-preview' && $(azureresourceschema)
@@ -24,13 +36,13 @@ input-file:
```
-### Tag: schema-confluent-2020-03-01 and azureresourceschema
+### Tag: schema-confluent-2021-03-01-preview and azureresourceschema
-``` yaml $(tag) == 'schema-confluent-2020-03-01' && $(azureresourceschema)
+``` yaml $(tag) == 'schema-confluent-2021-03-01-preview' && $(azureresourceschema)
output-folder: $(azureresourceschema-folder)/schemas
# all the input files in this apiVersion
input-file:
- - Microsoft.Confluent/stable/2020-03-01/confluent.json
+ - Microsoft.Confluent/preview/2021-03-01-preview/confluent.json
-```
+```
\ No newline at end of file
diff --git a/specification/confluent/resource-manager/readme.go.md b/specification/confluent/resource-manager/readme.go.md
index 588e443f83b9..d137ad529b23 100644
--- a/specification/confluent/resource-manager/readme.go.md
+++ b/specification/confluent/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: confluent
clear-output-folder: true
```
@@ -15,6 +15,7 @@ go:
batch:
- tag: package-2020-03-01
- tag: package-2020-03-01-preview
+ - tag: package-2021-03-01-preview
```
### Tag: package-2020-03-01 and go
@@ -34,3 +35,12 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-03-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-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
index 2a58f61cd27a..462a9e89969d 100644
--- a/specification/confluent/resource-manager/readme.java.md
+++ b/specification/confluent/resource-manager/readme.java.md
@@ -18,6 +18,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-confluent
batch:
- tag: package-2020-03-01
- tag: package-2020-03-01-preview
+ - tag: package-2021-03-01-preview
```
### Tag: package-2020-03-01 and java
@@ -45,3 +46,16 @@ java:
regenerate-manager: true
generate-interface: true
```
+
+### Tag: package-2021-03-01-preview and java
+
+These settings apply only when `--tag=package-2021-03-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-03-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.confluent.v2021_03_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/confluent/mgmt-v2021_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
index ecbe0f6c59e1..d3f7016c102a 100644
--- a/specification/confluent/resource-manager/readme.md
+++ b/specification/confluent/resource-manager/readme.md
@@ -49,6 +49,15 @@ input-file:
- Microsoft.Confluent/preview/2020-03-01-preview/confluent.json
```
+### Tag: package-2021-03-01-preview
+
+These settings apply only when `--tag=package-2021-03-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03-01-preview'
+input-file:
+- Microsoft.Confluent/preview/2021-03-01-preview/confluent.json
+```
+
# Code Generation
## Swagger to SDK
@@ -58,9 +67,8 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-powershell
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-python
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -120,6 +128,7 @@ require: $(this-folder)/../../../profiles/readme.md
input-file:
- $(this-folder)/Microsoft.Confluent/stable/2020-03-01/confluent.json
- $(this-folder)/Microsoft.Confluent/preview/2020-03-01-preview/confluent.json
+ - $(this-folder)/Microsoft.Confluent/preview/2021-03-01-preview/confluent.json
```
@@ -129,4 +138,4 @@ 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/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/consumption.json
index cf4aa8cbfb30..0841d3f791ef 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/consumption.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/consumption.json
@@ -332,7 +332,7 @@
"Budgets"
],
"operationId": "Budgets_CreateOrUpdate",
- "description": "The operation to create or update a budget. Update operation requires latest eTag to be set in the request mandatorily. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "description": "The operation to create or update a budget. You can optionally provide an eTag if desired as a form of concurrency control. To obtain the latest eTag for a given budget, perform a get operation prior to your put operation.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
},
@@ -1151,7 +1151,7 @@
],
"x-ms-odata": "#/definitions/Forecast",
"operationId": "Forecasts_List",
- "description": "Lists the forecast charges by subscriptionId.",
+ "description": "Lists the forecast charges for scope defined. Please note that this API is no longer actively under development. We recommend using our new Forecast API moving forward: https://docs.microsoft.com/en-us/rest/api/cost-management/forecast/usage.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
},
@@ -2360,10 +2360,10 @@
"description": "Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than three months. Past start date should be selected within the timegrain period. There are no restrictions on the end date.",
"$ref": "#/definitions/BudgetTimePeriod"
},
- "filters": {
- "description": "May be used to filter budgets by resource group, resource, or meter.",
+ "filter": {
+ "description": "May be used to filter budgets by user-specified dimensions and/or tags.",
"type": "object",
- "$ref": "#/definitions/Filters"
+ "$ref": "#/definitions/Filter"
},
"currentSpend": {
"description": "The current amount of cost which is being tracked for a budget.",
@@ -2405,8 +2405,8 @@
"startDate"
]
},
- "Filters": {
- "description": "May be used to filter budgets by resource group, resource, or meter.",
+ "Filter": {
+ "description": "May be used to filter budgets by user-specified dimensions and/or tags.",
"properties": {
"resourceGroups": {
"description": "The list of filters on resource groups, allowed at subscription level only.",
@@ -2492,12 +2492,12 @@
"format": "decimal"
},
"contactEmails": {
- "description": "Email addresses to send the budget notification to when the threshold is exceeded.",
+ "description": "Email addresses to send the budget notification to when the threshold is exceeded. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.",
"type": "array",
"items": {
"type": "string"
},
- "minItems": 1,
+ "minItems": 0,
"maxItems": 50
},
"contactRoles": {
@@ -2508,13 +2508,25 @@
}
},
"contactGroups": {
- "description": "Action groups to send the budget notification to when the threshold is exceeded.",
+ "description": "Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.",
"type": "array",
"items": {
"type": "string"
},
"minItems": 0,
"maxItems": 50
+ },
+ "thresholdType": {
+ "description": "The type of threshold",
+ "type": "string",
+ "enum": [
+ "Actual"
+ ],
+ "x-ms-enum": {
+ "name": "ThresholdType",
+ "modelAsString": true
+ },
+ "default": "Actual"
}
},
"required": [
@@ -2651,7 +2663,7 @@
"readOnly": true
},
"grain": {
- "description": "The granularity of forecast.",
+ "description": "The granularity of forecast. Please note that Yearly is not currently supported in this API. The API will provide responses in the Monthly grain if Yearly is selected. To get yearly grain data, please use our newer Forecast API.",
"type": "string",
"enum": [
"Daily",
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/Budget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/Budget.json
index be9537a6b425..dcc41dfe7566 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/Budget.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/Budget.json
@@ -21,7 +21,7 @@
"startDate": "2017-10-01T00:00:00Z",
"endDate": "2018-10-31T00:00:00Z"
},
- "filters": {
+ "filter": {
"resourceGroups": [
"MPDEVTESTRG"
],
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/BudgetsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/BudgetsList.json
index 9ec90134c5e8..fc56055d00d5 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/BudgetsList.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/BudgetsList.json
@@ -22,7 +22,7 @@
"startDate": "2017-10-01T00:00:00Z",
"endDate": "2018-10-31T00:00:00Z"
},
- "filters": {
+ "filter": {
"resourceGroups": [
"MYDEVTESTRG"
],
@@ -94,7 +94,7 @@
"startDate": "2017-10-01T00:00:00Z",
"endDate": "2018-10-31T00:00:00Z"
},
- "filters": {
+ "filter": {
"resourceGroups": [
"MYDEVTESTRG"
],
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/CreateOrUpdateBudget.json
index ca3c4cd7030c..e68d7bf8adef 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/CreateOrUpdateBudget.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-05-01/examples/CreateOrUpdateBudget.json
@@ -15,7 +15,7 @@
"startDate": "2017-10-01T00:00:00Z",
"endDate": "2018-10-31T00:00:00Z"
},
- "filters": {
+ "filter": {
"resourceGroups": [
"MYDEVTESTRG"
],
@@ -73,7 +73,7 @@
"startDate": "2017-10-01T00:00:00Z",
"endDate": "2018-10-31T00:00:00Z"
},
- "filters": {
+ "filter": {
"resourceGroups": [
"MPDEVTESTRG"
],
@@ -134,7 +134,7 @@
"startDate": "2017-10-01T00:00:00Z",
"endDate": "2018-10-31T00:00:00Z"
},
- "filters": {
+ "filter": {
"resourceGroups": [
"MPDEVTESTRG"
],
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 af429c8d699e..398c7a66bc1a 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
@@ -1596,7 +1596,7 @@
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/events": {
+ "/{scope}/providers/Microsoft.Consumption/events": {
"get": {
"tags": [
"Events"
@@ -1609,15 +1609,12 @@
"x-ms-examples": {
"EventsListByBillingProfile": {
"$ref": "./examples/EventsListByBillingProfile.json"
+ },
+ "EventsList-Modern": {
+ "$ref": "./examples/EventsListByCustomer.json"
}
},
"parameters": [
- {
- "$ref": "#/parameters/billingAccountIdParameter"
- },
- {
- "$ref": "#/parameters/billingProfileIdParameter"
- },
{
"$ref": "#/parameters/apiVersionParameter"
},
@@ -1626,6 +1623,9 @@
},
{
"$ref": "#/parameters/endDateParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeEventsParameter"
}
],
"responses": {
@@ -1647,7 +1647,7 @@
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/lots": {
+ "/{scope}/providers/Microsoft.Consumption/lots": {
"get": {
"tags": [
"Lots"
@@ -1658,16 +1658,16 @@
"url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
},
"x-ms-examples": {
- "EventsListByBillingProfile": {
+ "LotsListByBillingProfile": {
"$ref": "./examples/LotsListByBillingProfile.json"
+ },
+ "LotsList-Modern": {
+ "$ref": "./examples/LotsListByCustomer.json"
}
},
"parameters": [
{
- "$ref": "#/parameters/billingAccountIdParameter"
- },
- {
- "$ref": "#/parameters/billingProfileIdParameter"
+ "$ref": "#/parameters/scopeLotsParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
@@ -1692,7 +1692,7 @@
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/credits/balanceSummary": {
+ "/{scope}/providers/Microsoft.Consumption/credits/balanceSummary": {
"get": {
"tags": [
"Credits"
@@ -1703,19 +1703,19 @@
"url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
},
"x-ms-examples": {
- "CreditSummaryByBillingProfile": {
+ "CreditsBalanceSummaryByBillingProfile": {
"$ref": "./examples/CreditSummaryByBillingProfile.json"
+ },
+ "CreditsBalanceSummary-Modern": {
+ "$ref": "./examples/CreditSummaryByCustomer.json"
}
},
"parameters": [
{
- "$ref": "#/parameters/billingAccountIdParameter"
- },
- {
- "$ref": "#/parameters/billingProfileIdParameter"
+ "$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/apiVersionParameter"
+ "$ref": "#/parameters/scopeCreditsParameter"
}
],
"responses": {
@@ -4146,6 +4146,37 @@
"modelAsString": true
},
"default": "Actual"
+ },
+ "locale": {
+ "description": "Language in which the recipient will receive the notification",
+ "type": "string",
+ "enum": [
+ "en-us",
+ "ja-jp",
+ "zh-cn",
+ "de-de",
+ "es-es",
+ "fr-fr",
+ "it-it",
+ "ko-kr",
+ "pt-br",
+ "ru-ru",
+ "zh-tw",
+ "cs-cz",
+ "pl-pl",
+ "tr-tr",
+ "da-dk",
+ "en-gb",
+ "hu-hu",
+ "nb-no",
+ "nl-nl",
+ "pt-pt",
+ "sv-se"
+ ],
+ "x-ms-enum": {
+ "name": "CultureCode",
+ "modelAsString": true
+ }
}
},
"required": [
@@ -4817,6 +4848,16 @@
"EventProperties": {
"description": "The event properties.",
"properties": {
+ "creditCurrency": {
+ "description": "Credit Currency",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "Billing Currency.",
+ "type": "string",
+ "readOnly": true
+ },
"transactionDate": {
"description": "Transaction date.",
"type": "string",
@@ -4833,26 +4874,51 @@
"readOnly": true,
"$ref": "#/definitions/amount"
},
+ "newCreditInBillingCurrency": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
"adjustments": {
"description": "Adjustments amount.",
"readOnly": true,
"$ref": "#/definitions/amount"
},
+ "adjustmentsInBillingCurrency": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
"creditExpired": {
"description": "Credit expired.",
"readOnly": true,
"$ref": "#/definitions/amount"
},
+ "creditExpiredInBillingCurrency": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
"charges": {
"description": "Charges amount.",
"readOnly": true,
"$ref": "#/definitions/amount"
},
+ "chargesInBillingCurrency": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
"closedBalance": {
"description": "Closed balance.",
"readOnly": true,
"$ref": "#/definitions/amount"
},
+ "closedBalanceInBillingCurrency": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
"eventType": {
"description": "The type of event.",
"type": "string",
@@ -4874,6 +4940,11 @@
"description": "Invoice number.",
"type": "string",
"readOnly": true
+ },
+ "reseller": {
+ "description": "Reseller details.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
}
}
},
@@ -4914,16 +4985,36 @@
"LotProperties": {
"description": "The lot properties.",
"properties": {
+ "creditCurrency": {
+ "description": "Credit Currency",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "Billing Currency.",
+ "type": "string",
+ "readOnly": true
+ },
"originalAmount": {
"description": "Original amount.",
"readOnly": true,
"$ref": "#/definitions/amount"
},
+ "originalAmountInBillingCurrency": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
"closedBalance": {
"description": "Closed balance.",
"readOnly": true,
"$ref": "#/definitions/amount"
},
+ "closedBalanceInBillingCurrency": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
"source": {
"description": "Lot source.",
"type": "string",
@@ -4953,6 +5044,11 @@
"description": "PO number.",
"type": "string",
"readOnly": true
+ },
+ "reseller": {
+ "description": "Reseller details.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
}
}
},
@@ -4976,6 +5072,16 @@
"description": "The properties of the credit summary.",
"type": "object",
"properties": {
+ "creditCurrency": {
+ "description": "Credit Currency",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingCurrency": {
+ "description": "Billing Currency.",
+ "type": "string",
+ "readOnly": true
+ },
"balanceSummary": {
"description": "Summary of balances associated with this credit summary.",
"readOnly": true,
@@ -4995,6 +5101,11 @@
"description": "Pending eligible charges.",
"readOnly": true,
"$ref": "#/definitions/amount"
+ },
+ "reseller": {
+ "description": "Reseller details.",
+ "readOnly": true,
+ "$ref": "#/definitions/Reseller"
}
}
},
@@ -5010,6 +5121,16 @@
"description": "Current balance.",
"readOnly": true,
"$ref": "#/definitions/amount"
+ },
+ "estimatedBalanceInBillingCurrency": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
+ },
+ "currentBalanceInBillingCurrency": {
+ "description": "Current balance.",
+ "readOnly": true,
+ "$ref": "#/definitions/AmountWithExchangeRate"
}
}
},
@@ -5029,6 +5150,42 @@
}
}
},
+ "AmountWithExchangeRate": {
+ "description": "Reseller details",
+ "allOf": [
+ {
+ "$ref": "#/definitions/amount"
+ }
+ ],
+ "properties": {
+ "exchangeRate": {
+ "description": "Exchange Rate.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "exchangeRateMonth": {
+ "description": "Exchange rate month.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "Reseller": {
+ "description": "Reseller details",
+ "properties": {
+ "resellerId": {
+ "description": "Reseller id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resellerDescription": {
+ "description": "Reseller Description.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"Resource": {
"description": "The Resource model definition.",
"properties": {
@@ -5143,6 +5300,33 @@
"x-ms-parameter-location": "method",
"x-ms-skip-url-encoding": true
},
+ "scopeCreditsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with credits operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfile/{billingProfileId}' for Billing Profile scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeEventsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with events operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfile/{billingProfileId}' for Billing Profile scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeLotsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with Lots operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfile/{billingProfileId}' for Billing Profile scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
"scopeUsageDetailsParameter": {
"name": "scope",
"in": "path",
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreateOrUpdateBudget.json
index e7316c36d43e..5c2b72d57117 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreateOrUpdateBudget.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreateOrUpdateBudget.json
@@ -54,6 +54,7 @@
"enabled": true,
"operator": "GreaterThan",
"threshold": 80,
+ "locale": "en-us",
"contactEmails": [
"johndoe@contoso.com",
"janesmith@contoso.com"
@@ -129,6 +130,7 @@
"enabled": true,
"operator": "GreaterThan",
"threshold": 80,
+ "locale": "en-us",
"contactEmails": [
"johndoe@contoso.com",
"janesmith@contoso.com"
@@ -203,6 +205,7 @@
"enabled": true,
"operator": "GreaterThan",
"threshold": 80,
+ "locale": "en-us",
"contactEmails": [
"johndoe@contoso.com",
"janesmith@contoso.com"
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreditSummaryByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreditSummaryByBillingProfile.json
index 77dd075699c9..d1a10bbde661 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreditSummaryByBillingProfile.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreditSummaryByBillingProfile.json
@@ -1,8 +1,7 @@
{
"parameters": {
"api-version": "2019-10-01",
- "billingAccountId": "1234:5678",
- "billingProfileId": "2468"
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreditSummaryByCustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreditSummaryByCustomer.json
new file mode 100644
index 000000000000..0dc6315f17fe
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/CreditSummaryByCustomer.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:5678/customers/2468"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/customers/2468/providers/Microsoft.Consumption/credits/balanceSummary1",
+ "name": "balanceSummary1",
+ "type": "Microsoft.Consumption/credits/balanceSummary",
+ "properties": {
+ "creditCurrency": "USD",
+ "billingCurrency": "USD",
+ "balanceSummary": {
+ "estimatedBalance": {
+ "currency": "USD",
+ "value": 600.00
+ },
+ "estimatedBalanceInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "",
+ "value": 5486.739600000003
+ },
+ "currentBalance": {
+ "currency": "USD",
+ "value": 100.00
+ },
+ "currentBalanceInBillingCurrency": {
+ "exchangeRate": 0,
+ "exchangeRateMonth": 202101,
+ "currency": "",
+ "value": 7342.250000000026
+ }
+ },
+ "pendingCreditAdjustments": {
+ "currency": "USD",
+ "value": 500.00
+ },
+ "expiredCredit": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "pendingEligibleCharges": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "reseller": {
+ "resellerId": "55258",
+ "resellerDescription": "Reseller"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/EventsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/EventsListByBillingProfile.json
index 636924d3b392..c19fbf0f2a98 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/EventsListByBillingProfile.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/EventsListByBillingProfile.json
@@ -1,8 +1,7 @@
{
"parameters": {
"api-version": "2019-10-01",
- "billingAccountId": "1234:5678",
- "billingProfileId": "4268",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/4268",
"startDate": "2019-09-01",
"endDate": "2019-10-31"
},
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/EventsListByCustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/EventsListByCustomer.json
new file mode 100644
index 000000000000..a5ff114bfa66
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/EventsListByCustomer.json
@@ -0,0 +1,150 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:5678/customers/4268",
+ "startDate": "2019-09-01",
+ "endDate": "2019-10-31"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/customers/4268/providers/Microsoft.Consumption/events/event1",
+ "name": "event1",
+ "type": "Microsoft.Consumption/events",
+ "properties": {
+ "transactionDate": "2021-03-09T00:00:00Z",
+ "description": "",
+ "creditCurrency": "USD",
+ "billingCurrency": "USD",
+ "reseller": {
+ "resellerId": "123558",
+ "resellerDescription": "Reseller"
+ },
+ "newCredit": {
+ "currency": "USD",
+ "value": 0
+ },
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": 0
+ },
+ "adjustments": {
+ "currency": "USD",
+ "value": 0
+ },
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": 0
+ },
+ "creditExpired": {
+ "currency": "USD",
+ "value": 0
+ },
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": 0
+ },
+ "charges": {
+ "currency": "USD",
+ "value": -24.16
+ },
+ "chargesInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": -1747.8854000000008
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 75.84
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": 5594.364600000025
+ },
+ "eventType": "PendingCharges",
+ "invoiceNumber": "D9875F908"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/customers/4268/providers/Microsoft.Consumption/events/event2",
+ "name": "event2",
+ "type": "Microsoft.Consumption/events",
+ "properties": {
+ "transactionDate": "2021-03-09T00:00:00Z",
+ "description": "",
+ "creditCurrency": "USD",
+ "billingCurrency": "USD",
+ "reseller": {
+ "resellerId": "123558",
+ "resellerDescription": "Reseller"
+ },
+ "newCredit": {
+ "currency": "USD",
+ "value": 0
+ },
+ "newCreditInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": 0
+ },
+ "adjustments": {
+ "currency": "USD",
+ "value": 0
+ },
+ "adjustmentsInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": 0
+ },
+ "creditExpired": {
+ "currency": "USD",
+ "value": 0
+ },
+ "creditExpiredInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": 0
+ },
+ "charges": {
+ "currency": "USD",
+ "value": -24.16
+ },
+ "chargesInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": -1747.8854000000008
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 75.84
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 72.34625000000003,
+ "exchangeRateMonth": 202103,
+ "currency": "USD",
+ "value": 5594.364600000025
+ },
+ "eventType": "PendingCharges",
+ "invoiceNumber": "D9875F908"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/LotsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/LotsListByBillingProfile.json
index 323660d282cd..6a158689af87 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/LotsListByBillingProfile.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/LotsListByBillingProfile.json
@@ -1,8 +1,7 @@
{
"parameters": {
"api-version": "2019-10-01",
- "billingAccountId": "1234:5678",
- "billingProfileId": "2468"
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/LotsListByCustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/LotsListByCustomer.json
new file mode 100644
index 000000000000..5e66e677f170
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/LotsListByCustomer.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/1234:5678/customers/2468"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProficustomersles/2468/providers/Microsoft.Consumption/lots/lot1",
+ "name": "lot1",
+ "type": "Microsoft.Consumption/lots",
+ "properties": {
+ "originalAmount": {
+ "currency": "USD",
+ "value": 5000.00
+ },
+ "originalAmountInBillingCurrency": {
+ "exchangeRate": 73.42250000000027,
+ "exchangeRateMonth": 202101,
+ "currency": "",
+ "value": 7342.250000000026
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 60.90
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 73.42250000000027,
+ "exchangeRateMonth": 202101,
+ "currency": "",
+ "value": 7342.250000000026
+ },
+ "source": "PurchasedCredit",
+ "startDate": "2019-10-01T00:00:00Z",
+ "expirationDate": "2019-11-01T00:00:00Z",
+ "poNumber": "3524"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/1234:5678/billingProfiles/2468/providers/Microsoft.Consumption/lots/lot2",
+ "name": "lot2",
+ "type": "Microsoft.Consumption/lots",
+ "properties": {
+ "originalAmount": {
+ "currency": "USD",
+ "value": 6000.00
+ },
+ "originalAmountInBillingCurrency": {
+ "exchangeRate": 73.42250000000027,
+ "exchangeRateMonth": 202101,
+ "currency": "",
+ "value": 7342.250000000026
+ },
+ "closedBalance": {
+ "currency": "USD",
+ "value": 80.90
+ },
+ "closedBalanceInBillingCurrency": {
+ "exchangeRate": 73.42250000000027,
+ "exchangeRateMonth": 202101,
+ "currency": "",
+ "value": 7342.250000000026
+ },
+ "source": "PurchasedCredit",
+ "startDate": "2019-11-01T00:00:00Z",
+ "expirationDate": "2019-12-31T00:00:00Z",
+ "poNumber": "31224"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json
index b5c8df9b84cb..1c18c75f4073 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/consumption.json
@@ -1179,7 +1179,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/HighCasedErrorResponse"
}
}
}
@@ -2350,7 +2350,7 @@
"readOnly": true
},
"productIdentifier": {
- "description": "Identifier for the product that has accrued charges by consumption or purchase . This is the concatenated key of productId and SKuId in partner center.",
+ "description": "Identifier for the product that has accrued charges by consumption or purchase . This is the concatenated key of productId and SkuId in partner center.",
"type": "string",
"readOnly": true
},
@@ -2440,6 +2440,12 @@
"description": "Flag to indicate if partner earned credit has been applied or not.",
"type": "string",
"readOnly": true
+ },
+ "payGPrice": {
+ "description": "Retail price for the resource.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
}
}
},
@@ -2515,6 +2521,11 @@
"type": "string",
"readOnly": true
},
+ "additionalInfo": {
+ "description": "Additional information.",
+ "type": "string",
+ "readOnly": true
+ },
"orderNumber": {
"description": "The order number.",
"type": "string",
@@ -3003,6 +3014,10 @@
"type": "string",
"description": "Resource sku"
},
+ "etag": {
+ "type": "string",
+ "description": "Resource etag."
+ },
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/ReservationRecommendationDetailsProperties",
@@ -3208,6 +3223,11 @@
"description": "The link (url) to the next page of results.",
"type": "string",
"readOnly": true
+ },
+ "previousLink": {
+ "description": "The link (url) to the previous page of results.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -3295,6 +3315,11 @@
"format": "uuid",
"readOnly": true
},
+ "resourceType": {
+ "description": "The azure resource type.",
+ "type": "string",
+ "readOnly": true
+ },
"term": {
"description": "RI recommendations in one or three year terms.",
"type": "string",
@@ -3383,9 +3408,15 @@
"ModernReservationRecommendationProperties": {
"description": "The properties of the reservation recommendation.",
"properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource Location.",
+ "readOnly": true
+ },
"lookBackPeriod": {
"description": "The number of days of usage to look back for recommendation.",
- "type": "string",
+ "type": "integer",
+ "format": "int32",
"readOnly": true
},
"instanceFlexibilityRatio": {
@@ -3458,6 +3489,11 @@
"$ref": "#/definitions/SkuProperty"
},
"readOnly": true
+ },
+ "skuName": {
+ "description": "This is the ARM Sku name.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -3814,6 +3850,13 @@
"key": {
"description": "Tag key.",
"type": "string"
+ },
+ "value": {
+ "description": "Tag values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
}
},
@@ -3908,6 +3951,11 @@
"$ref": "#/definitions/Notification"
},
"maxItems": 5
+ },
+ "forecastSpend": {
+ "description": "The forecasted cost which is being tracked for a budget.",
+ "$ref": "#/definitions/ForecastSpend",
+ "readOnly": true
}
},
"required": [
@@ -4022,6 +4070,22 @@
}
}
},
+ "ForecastSpend": {
+ "description": "The forecasted cost which is being tracked for a budget.",
+ "properties": {
+ "amount": {
+ "description": "The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "unit": {
+ "description": "The unit of measure for the budget amount.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"Notification": {
"description": "The notification associated with a budget.",
"properties": {
@@ -4123,6 +4187,26 @@
"description": "The link (url) to the next page of results.",
"type": "string",
"readOnly": true
+ },
+ "download": {
+ "description": "Pricesheet download details.",
+ "$ref": "#/definitions/MeterDetails",
+ "readOnly": true
+ }
+ }
+ },
+ "DownloadProperties": {
+ "description": "The properties of the price sheet download.",
+ "properties": {
+ "downloadUrl": {
+ "description": "The link (url) to download the pricesheet.",
+ "type": "string",
+ "readOnly": true
+ },
+ "validTill": {
+ "description": "Download link validity.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -4603,6 +4687,31 @@
}
}
},
+ "HighCasedErrorDetails": {
+ "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
+ }
+ }
+ },
+ "HighCasedErrorResponse": {
+ "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/HighCasedErrorDetails"
+ }
+ }
+ },
"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",
@@ -4644,6 +4753,11 @@
"description": "Operation type: Read, write, delete, etc.",
"type": "string",
"readOnly": true
+ },
+ "description": {
+ "description": "Description of the operation.",
+ "type": "string",
+ "readOnly": true
}
}
}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/examples/ReservationRecommendationsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/examples/ReservationRecommendationsByBillingProfile.json
index 77ced7037c83..5ea959ff16d2 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/examples/ReservationRecommendationsByBillingProfile.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-11-01/examples/ReservationRecommendationsByBillingProfile.json
@@ -32,7 +32,7 @@
},
"firstUsageDate": "2019-07-07T00:00:00-07:00",
"scope": "Shared",
- "lookBackPeriod": "Last7Days",
+ "lookBackPeriod": 7,
"instanceFlexibilityRatio": 1,
"instanceFlexibilityGroup": "DSv2 Series",
"normalizedSize": "Standard_DS1_v2",
@@ -74,7 +74,7 @@
},
"firstUsageDate": "2019-07-07T00:00:00-07:00",
"scope": "Shared",
- "lookBackPeriod": "Last7Days",
+ "lookBackPeriod": 7,
"instanceFlexibilityRatio": 1,
"instanceFlexibilityGroup": "DSv2 Series",
"normalizedSize": "Standard_DS1",
diff --git a/specification/consumption/resource-manager/readme.azureresourceschema.md b/specification/consumption/resource-manager/readme.azureresourceschema.md
index cdf86806a081..b92cb261bb27 100644
--- a/specification/consumption/resource-manager/readme.azureresourceschema.md
+++ b/specification/consumption/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-consumption-2019-11-01
- tag: schema-consumption-2019-10-01
- tag: schema-consumption-2019-06-01
- tag: schema-consumption-2019-05-01-preview
@@ -27,6 +28,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-consumption-2019-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2019-11-01/consumption.json
+
+```
+
### Tag: schema-consumption-2019-10-01 and azureresourceschema
``` yaml $(tag) == 'schema-consumption-2019-10-01' && $(azureresourceschema)
diff --git a/specification/consumption/resource-manager/readme.go.md b/specification/consumption/resource-manager/readme.go.md
index a0de97215d8d..f6628d3edcbb 100644
--- a/specification/consumption/resource-manager/readme.go.md
+++ b/specification/consumption/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: consumption
clear-output-folder: true
```
diff --git a/specification/containerinstance/resource-manager/readme.go.md b/specification/containerinstance/resource-manager/readme.go.md
index 193939ef9fe3..e0f0f02aa8db 100644
--- a/specification/containerinstance/resource-manager/readme.go.md
+++ b/specification/containerinstance/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: containerinstance
clear-output-folder: true
```
diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md
index cca5e48e9510..3b742564729e 100644
--- a/specification/containerinstance/resource-manager/readme.md
+++ b/specification/containerinstance/resource-manager/readme.md
@@ -150,6 +150,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-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/containerinstance/resource-manager/readme.python.md b/specification/containerinstance/resource-manager/readme.python.md
index 8ce72939d75a..548244f12e75 100644
--- a/specification/containerinstance/resource-manager/readme.python.md
+++ b/specification/containerinstance/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -15,13 +15,33 @@ python:
package-version: 1.0.0
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+
+``` yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.containerinstance
+package-name: azure-mgmt-containerinstance
+package-version: 1.0.0
+```
+
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/containerinstance/azure-mgmt-containerinstance
```
+
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/containerinstance/azure-mgmt-containerinstance
+```
diff --git a/specification/containerregistry/data-plane/readme.go.md b/specification/containerregistry/data-plane/readme.go.md
index 7bac0f179831..a9abe131bb71 100644
--- a/specification/containerregistry/data-plane/readme.go.md
+++ b/specification/containerregistry/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: containerregistry
clear-output-folder: true
add-credentials: true
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json
index d1821056216a..9469787e7f06 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2020-11-01-preview/containerregistry.json
@@ -4106,6 +4106,7 @@
},
"anonymousPullEnabled": {
"description": "Enables registry-wide pull from unauthenticated clients.",
+ "default": false,
"type": "boolean"
}
}
diff --git a/specification/containerregistry/resource-manager/readme.go.md b/specification/containerregistry/resource-manager/readme.go.md
index 9ffa1be66afd..cbac89f4b333 100644
--- a/specification/containerregistry/resource-manager/readme.go.md
+++ b/specification/containerregistry/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: containerregistry
clear-output-folder: true
```
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-11-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-11-01/managedClusters.json
index 4c42f13c4b59..ba1c2e821572 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-11-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-11-01/managedClusters.json
@@ -1896,7 +1896,7 @@
},
"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."
+ "description": "OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation."
},
"vnetSubnetID": {
"$ref": "#/definitions/ContainerServiceVnetSubnetID",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-12-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-12-01/managedClusters.json
index bc24018164ee..29449da42c45 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-12-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-12-01/managedClusters.json
@@ -2105,7 +2105,7 @@
},
"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."
+ "description": "OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation."
},
"kubeletDiskType": {
"$ref": "#/definitions/KubeletDiskType",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-02-01/managedClusters.json
index 38a6641f1238..7efcd1ec2ee9 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-02-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-02-01/managedClusters.json
@@ -2117,7 +2117,7 @@
},
"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."
+ "description": "OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation."
},
"kubeletDiskType": {
"$ref": "#/definitions/KubeletDiskType",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_CustomNodeConfig.json
new file mode 100644
index 000000000000..32e1fb5bd7f2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_CustomNodeConfig.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false,
+ "podMaxPids": 100
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 65536,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..f5b30b475683
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableEncryptionAtHost": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableEncryptionAtHost": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.13",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableEncryptionAtHost": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_EnableFIPS.json
new file mode 100644
index 000000000000..4a031ea2bb0c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_EnableFIPS.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableFIPS": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableFIPS": true
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.19.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "enableFIPS": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_Ephemeral.json
new file mode 100644
index 000000000000..59999b3c675e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_Ephemeral.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "osDiskSizeGB": 64
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "osDiskSizeGB": 64
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osDiskType": "Ephemeral",
+ "kubeletDiskType": "OS",
+ "osDiskSizeGB": 64
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_GPUMIG.json
new file mode 100644
index 000000000000..58918f0f6501
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_GPUMIG.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG2g",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG2g",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG2g",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false,
+ "podMaxPids": 100
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 65536,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_OSSKU.json
new file mode 100644
index 000000000000..f9c1fd79e4c6
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_OSSKU.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 12345,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.17.8",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "kubeletConfig": {
+ "cpuManagerPolicy": "static",
+ "cpuCfsQuota": true,
+ "cpuCfsQuotaPeriod": "200ms",
+ "imageGcHighThreshold": 90,
+ "imageGcLowThreshold": 70,
+ "topologyManagerPolicy": "best-effort",
+ "allowedUnsafeSysctls": [
+ "kernel.msg*",
+ "net.core.somaxconn"
+ ],
+ "failSwapOn": false,
+ "podMaxPids": 100
+ },
+ "linuxOSConfig": {
+ "sysctls": {
+ "netCoreWmemDefault": 65536,
+ "netIpv4TcpTwReuse": true,
+ "netIpv4IpLocalPortRange": "20000 60000",
+ "kernelThreadsMax": 99999
+ },
+ "transparentHugePageEnabled": "always",
+ "transparentHugePageDefrag": "madvise",
+ "swapFileSizeMB": 1500
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..4c4446378803
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..7278f88a1766
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "spotMaxPrice": -1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "spotMaxPrice": -1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..9bbf509934e5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "tags": {
+ "name1": "val1"
+ },
+ "nodeLabels": {
+ "key1": "val1"
+ },
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete",
+ "mode": "User"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..d83608f0b9e7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..63d141e9fdc4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..db883574adf6
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..f37365f83cc3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "kubernetesVersion": "1.12.8",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.13.5"
+ }
+ ],
+ "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ },
+ "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..ea01b7b9e8c0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsUpgradeNodeImageVersion.json
new file mode 100644
index 000000000000..19ed7773df40
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPoolsUpgradeNodeImageVersion.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "UpgradingNodeImageVersion",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "orchestratorVersion": "1.9.6",
+ "nodeImageVersion": "AKSUbuntu-1604-2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..b51da29b74fc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Updating",
+ "orchestratorVersion": "1.9.6",
+ "count": 3,
+ "enableAutoScaling": true,
+ "minCount": 2,
+ "maxCount": 2,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "nodeTaints": [
+ "Key1=Value1:NoSchedule"
+ ],
+ "scaleSetPriority": "Spot",
+ "scaleSetEvictionPolicy": "Delete"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ContainerServiceGetOSOptions.json
new file mode 100644
index 000000000000..3f597b8f38c3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ContainerServiceGetOSOptions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "location": "location1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/osOptions/default",
+ "name": "default",
+ "type": "Microsoft.ContainerService/locations/osOptions",
+ "properties": {
+ "osOptionPropertyList": [
+ {
+ "os-type": "Linux",
+ "enable-fips-image": false
+ },
+ {
+ "os-type": "Windows",
+ "enable-fips-image": false
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsCreate_Update.json
new file mode 100644
index 000000000000..a33b11ae9efa
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsCreate_Update.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default",
+ "parameters": {
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations",
+ "name": "default",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsDelete.json
new file mode 100644
index 000000000000..89786cfc3439
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsGet.json
new file mode 100644
index 000000000000..a7c53721c38f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "name": "default",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsList.json
new file mode 100644
index 000000000000..743933be6ffb
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/MaintenanceConfigurationsList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default",
+ "name": "default",
+ "properties": {
+ "timeInWeek": [
+ {
+ "day": "Monday",
+ "hourSlots": [
+ 1,
+ 2
+ ]
+ }
+ ],
+ "notAllowedTime": [
+ {
+ "start": "2020-11-26T03:00:00Z",
+ "end": "2020-11-30T12:00:00Z"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..c208175d2b1f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_EnabledFIPS.json
new file mode 100644
index 000000000000..c45d7d90a323
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_EnabledFIPS.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableFIPS": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_GPUMIG.json
new file mode 100644
index 000000000000..bc7e5e68b680
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_GPUMIG.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG3g",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG3g",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_ND96asr_v4",
+ "maxPods": 110,
+ "osType": "Linux",
+ "gpuInstanceProfile": "MIG3g",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_HTTPProxy.json
new file mode 100644
index 000000000000..30562135b159
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_HTTPProxy.json
@@ -0,0 +1,260 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json
new file mode 100644
index 000000000000..6d54b9ebdf5c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_OSSKU.json
new file mode 100644
index 000000000000..2907e0b44a4a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_OSSKU.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "osSKU": "CBLMariner",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "httpProxyConfig": {
+ "httpProxy": "http://myproxy.server.com:8080",
+ "httpsProxy": "https://myproxy.server.com:8080",
+ "noProxy": [
+ "localhost",
+ "127.0.0.1"
+ ],
+ "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U="
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..c655ff9fa6c9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_PodIdentity.json
new file mode 100644
index 000000000000..7643781cb1c1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_PodIdentity.json
@@ -0,0 +1,245 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "podIdentityProfile": {
+ "enabled": true,
+ "allowNetworkPluginKubenet": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "podIdentityProfile": {
+ "enabled": true,
+ "allowNetworkPluginKubenet": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "podIdentityProfile": {
+ "enabled": true,
+ "allowNetworkPluginKubenet": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
new file mode 100644
index 000000000000..6e191aa8dd59
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
@@ -0,0 +1,246 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "fqdnSubdomain": "domain1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "fqdnSubdomain": "domain1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "privateFQDN": "domain1.privatelink.location1.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "fqdnSubdomain": "domain1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "enableEncryptionAtHost": true
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "apiServerAccessProfile": {
+ "enablePrivateCluster": true,
+ "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "privateFQDN": "domain1.privatelink.location1.azmk8s.io",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..f5b60920cd96
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,282 @@
+{
+ "parameters": {
+ "api-version": "2021-03-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": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
new file mode 100644
index 000000000000..5e22af8a401a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
@@ -0,0 +1,275 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "licenseType": "Windows_Server"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..4e6194416364
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,264 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "aadProfile": {
+ "managed": true,
+ "enableAzureRBAC": true
+ },
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aadProfile": {
+ "managed": true,
+ "adminGroupObjectIDs": null,
+ "enableAzureRBAC": true,
+ "tenantID": "tenantID"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "aadProfile": {
+ "managed": true,
+ "adminGroupObjectIDs": null,
+ "enableAzureRBAC": true,
+ "tenantID": "tenantID"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..ad62bed0e16d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..cb8e1e872228
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersGet.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "azurePortalFQDN": "dnsprefix1-abcd1234.portal.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "upgradeSettings": {
+ "maxSurge": "33%"
+ }
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..7fcddb6ae384
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..8a98efa75753
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..f3cd19c1be57
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..6e673825d772
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..bd364e0106a7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..75f6417539d3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..79cb0b0ecf9b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..ad62bed0e16d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersStart.json
new file mode 100644
index 000000000000..ad62bed0e16d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersStop.json
new file mode 100644
index 000000000000..ad62bed0e16d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..9a81ea220fe1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..d35dc4aa7dab
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..fa1304f93e8f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..0ee3af6ff02c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..e8a9ac9039b3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "name": "privateendpointconnection1",
+ "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateLinkResourcesList.json
new file mode 100644
index 000000000000..b21bc7ff1dc1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/PrivateLinkResourcesList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "management",
+ "type": "Microsoft.ContainerService/managedClusters/privateLinkResources",
+ "groupId": "management",
+ "requiredMembers": [
+ "management"
+ ],
+ "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ResolvePrivateLinkServiceId.json
new file mode 100644
index 000000000000..6debdfab6817
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/ResolvePrivateLinkServiceId.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "name": "management"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/RunCommandRequest.json
new file mode 100644
index 000000000000..89d15cea614c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/RunCommandRequest.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "requestPayload": {
+ "command": "kubectl apply -f ns.yaml",
+ "context": "",
+ "clusterToken": ""
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2021-03-01"
+ }
+ },
+ "200": {
+ "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE",
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "succeeded",
+ "exitCode": 0,
+ "startedAt": "2021-02-17T00:28:20Z",
+ "finishedAt": "2021-02-17T00:28:33Z",
+ "logs": "namespace dummy created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/RunCommandResultFailed.json
new file mode 100644
index 000000000000..842ba321da1f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/RunCommandResultFailed.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2021-03-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "failed",
+ "reason": "ImagePullBackoff"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/RunCommandResultSucceed.json
new file mode 100644
index 000000000000..8068ad79f7c9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/examples/RunCommandResultSucceed.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2021-03-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "succeeded",
+ "exitCode": 0,
+ "startedAt": "2021-02-17T00:28:20Z",
+ "finishedAt": "2021-02-17T00:28:33Z",
+ "logs": "namespace dummy created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/managedClusters.json
new file mode 100644
index 000000000000..55b99df0d463
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-03-01/managedClusters.json
@@ -0,0 +1,4560 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2021-03-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/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/locations/{location}/osOptions/default": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "ManagedClusters_GetOSOptions",
+ "summary": "Gets supported OS options in the specified subscription.",
+ "description": "Gets supported OS options in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceTypeParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OSOptionProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container Service OS Options": {
+ "$ref": "./examples/ContainerServiceGetOSOptions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "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 Managed Cluster with OSSKU": {
+ "$ref": "./examples/ManagedClustersCreate_OSSKU.json"
+ },
+ "Create Managed Cluster with GPUMIG": {
+ "$ref": "./examples/ManagedClustersCreate_GPUMIG.json"
+ },
+ "Create/Update Managed Cluster with EnableAHUB": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json"
+ },
+ "Create Managed Cluster with EncryptionAtHost enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json"
+ },
+ "Create Managed Cluster with PodIdentity enabled": {
+ "$ref": "./examples/ManagedClustersCreate_PodIdentity.json"
+ },
+ "Create Managed Private Cluster with fqdn subdomain specified": {
+ "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json"
+ },
+ "Create Managed Cluster with Node Public IP Prefix": {
+ "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json"
+ },
+ "Create Managed Cluster with FIPS enabled OS": {
+ "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json"
+ },
+ "Create Managed Cluster with HTTP proxy configured": {
+ "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json"
+ }
+ }
+ },
+ "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}/maintenanceConfigurations": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_ListByManagedCluster",
+ "summary": "Gets a list of maintenance configurations in the specified managed cluster.",
+ "description": "Gets a list of maintenance configurations in the specified managed cluster. The operation returns properties of each maintenance configuration.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List maintenance configurations by Managed Cluster": {
+ "$ref": "./examples/MaintenanceConfigurationsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Get",
+ "summary": "Gets the maintenance configuration.",
+ "description": "Gets the details of maintenance configurations by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_CreateOrUpdate",
+ "summary": "Creates or updates a maintenance configurations.",
+ "description": "Creates or updates a maintenance configuration in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "Parameters supplied to the Create or Update a default maintenance configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Create/Update Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Delete",
+ "summary": "Deletes a maintenance configuration.",
+ "description": "Deletes the maintenance configuration in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Delete Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "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 OSSKU": {
+ "$ref": "./examples/AgentPoolsCreate_OSSKU.json"
+ },
+ "Create Agent Pool with GPUMIG": {
+ "$ref": "./examples/AgentPoolsCreate_GPUMIG.json"
+ },
+ "Create Agent Pool with Ephemeral OS Disk": {
+ "$ref": "./examples/AgentPoolsCreate_Ephemeral.json"
+ },
+ "Create Agent Pool with KubeletConfig and LinuxOSConfig": {
+ "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json"
+ },
+ "Create Agent Pool with EncryptionAtHost enabled": {
+ "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json"
+ },
+ "Create Agent Pool with FIPS enabled OS": {
+ "$ref": "./examples/AgentPoolsCreate_EnableFIPS.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"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RunCommand",
+ "summary": "Run Command against Managed Kubernetes Service",
+ "description": "Submit a command to run against managed kubernetes service, it will create a pod to run the command.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "requestPayload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandRequest"
+ },
+ "description": "Parameters supplied to the RunCommand operation."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "200": {
+ "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "submitNewCommand": {
+ "$ref": "./examples/RunCommandRequest.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetCommandResult",
+ "summary": "Get command result.",
+ "description": "Get command result from previous runCommand invoke.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "commandId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Id of the command request."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "command running in progress"
+ },
+ "200": {
+ "description": "command finished",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "commandSucceedResult": {
+ "$ref": "./examples/RunCommandResultSucceed.json"
+ },
+ "commandFailedResult": {
+ "$ref": "./examples/RunCommandResultFailed.json"
+ }
+ }
+ }
+ }
+ },
+ "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": 2048,
+ "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": "specifies a subnet's resource id with subscription, resource group, vnet and subnet name"
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "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": {
+ "type": "string",
+ "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'. If unspecified, defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation."
+ },
+ "kubeletDiskType": {
+ "$ref": "#/definitions/KubeletDiskType",
+ "description": "KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Currently allows one value, OS, resulting in Kubelet using the OS disk for data."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier for nodes and maybe pods"
+ },
+ "podSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "Pod SubnetID specifies the VNet's subnet identifier for pods."
+ },
+ "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."
+ },
+ "osSKU": {
+ "$ref": "#/definitions/OSSKU",
+ "description": "OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows OSType."
+ },
+ "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"
+ },
+ "nodePublicIPPrefixID": {
+ "type": "string",
+ "description": "Public IP Prefix ID. VM nodes use IPs assigned from this Public IP Prefix."
+ },
+ "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."
+ },
+ "kubeletConfig": {
+ "$ref": "#/definitions/KubeletConfig",
+ "description": "KubeletConfig specifies the configuration of kubelet on agent nodes."
+ },
+ "linuxOSConfig": {
+ "$ref": "#/definitions/LinuxOSConfig",
+ "description": "LinuxOSConfig specifies the OS configuration of linux agent nodes."
+ },
+ "enableEncryptionAtHost": {
+ "type": "boolean",
+ "description": "Whether to enable EncryptionAtHost"
+ },
+ "enableFIPS": {
+ "type": "boolean",
+ "description": "Whether to use FIPS enabled OS"
+ },
+ "gpuInstanceProfile": {
+ "$ref": "#/definitions/GPUInstanceProfile",
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g."
+ }
+ },
+ "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."
+ },
+ "enableCSIProxy": {
+ "type": "boolean",
+ "description": "Whether to enable CSI proxy."
+ }
+ },
+ "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."
+ },
+ "MaintenanceConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The list of maintenance configurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of maintenance configuration results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List maintenance configurations operation."
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "MaintenanceConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "The system meta data relating to this resource."
+ },
+ "properties": {
+ "description": "Properties of a default maintenance configuration.",
+ "$ref": "#/definitions/MaintenanceConfigurationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "maintenance configuration."
+ },
+ "MaintenanceConfigurationProperties": {
+ "properties": {
+ "timeInWeek": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeInWeek"
+ },
+ "description": "Weekday time slots allowed to upgrade."
+ },
+ "notAllowedTime": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSpan"
+ },
+ "description": "Time slots on which upgrade is not allowed."
+ }
+ },
+ "description": "Default maintenance configuration properties."
+ },
+ "TimeInWeek": {
+ "properties": {
+ "day": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "A day in a week."
+ },
+ "hourSlots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HourInDay"
+ },
+ "description": "hour slots in a day."
+ }
+ },
+ "description": "Time in a week."
+ },
+ "WeekDay": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": true
+ },
+ "description": "The weekday enum."
+ },
+ "HourInDay": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 23,
+ "minimum": 0,
+ "description": "Hour in a day."
+ },
+ "TimeSpan": {
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start of a time span"
+ },
+ "end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of a time span"
+ }
+ },
+ "description": "The time span with start and end properties."
+ },
+ "RunCommandRequest": {
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "command to run."
+ },
+ "context": {
+ "type": "string",
+ "description": "base64 encoded zip file, contains files required by the command"
+ },
+ "clusterToken": {
+ "type": "string",
+ "description": "AuthToken issued for AKS AAD Server App."
+ }
+ },
+ "description": "run command request",
+ "required": [
+ "command"
+ ]
+ },
+ "RunCommandResult": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "command id.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Properties of command result.",
+ "$ref": "#/definitions/CommandResultProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "run command result."
+ },
+ "CommandResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "provisioning State"
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "exit code of the command"
+ },
+ "startedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "time when the command started."
+ },
+ "finishedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "time when the command finished."
+ },
+ "logs": {
+ "type": "string",
+ "readOnly": true,
+ "description": "command output."
+ },
+ "reason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "explain why provisioningState is set to failed (if so)."
+ }
+ }
+ },
+ "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."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current 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."
+ },
+ "fqdnSubdomain": {
+ "type": "string",
+ "description": "FQDN subdomain specified when creating private cluster with custom private dns zone."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "azurePortalFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool which used by proxy config."
+ },
+ "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."
+ },
+ "podIdentityProfile": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProfile",
+ "description": "Profile of managed cluster pod identity."
+ },
+ "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."
+ },
+ "autoUpgradeProfile": {
+ "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile",
+ "description": "Profile of auto upgrade configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string"
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "priority",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true
+ }
+ },
+ "max-empty-bulk-delete": {
+ "type": "string"
+ },
+ "max-graceful-termination-sec": {
+ "type": "string"
+ },
+ "max-node-provision-time": {
+ "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": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ },
+ "privateLinkResources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Private link resources associated with the cluster."
+ },
+ "disableLocalAccounts": {
+ "type": "boolean",
+ "description": "If set to true, getting static credential will be disabled for this cluster. Expected to only be used for AAD clusters."
+ },
+ "httpProxyConfig": {
+ "$ref": "#/definitions/ManagedClusterHTTPProxyConfig",
+ "description": "Configurations for provisioning the cluster with HTTP proxy servers."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "PowerState": {
+ "description": "Describes the Power State of the cluster",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Tells whether the cluster is Running or Stopped",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "code",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "privateDNSZone": {
+ "type": "string",
+ "description": "Private dns zone mode for private cluster. "
+ }
+ },
+ "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."
+ },
+ "ManagedClusterAutoUpgradeProfile": {
+ "properties": {
+ "upgradeChannel": {
+ "type": "string",
+ "enum": [
+ "rapid",
+ "stable",
+ "patch",
+ "node-image",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "upgradeChannel",
+ "modelAsString": true
+ },
+ "description": "upgrade channel for auto upgrade."
+ }
+ },
+ "description": "Auto upgrade profile for a managed cluster."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "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."
+ },
+ "ManagedClusterPodIdentity": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the pod identity."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "Namespace of the pod identity."
+ },
+ "bindingSelector": {
+ "type": "string",
+ "description": "Binding selector to use for the AzureIdentityBinding resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "Information of the user assigned identity."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of the pod identity.",
+ "enum": [
+ "Assigned",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterPodIdentityProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "provisioningInfo": {
+ "readOnly": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Pod identity assignment error (if any)."
+ }
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "identity"
+ ]
+ },
+ "ManagedClusterPodIdentityException": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the pod identity exception."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "Namespace of the pod identity exception."
+ },
+ "podLabels": {
+ "type": "object",
+ "description": "Pod labels to match.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "podLabels"
+ ]
+ },
+ "ManagedClusterPodIdentityProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the pod identity addon is enabled."
+ },
+ "allowNetworkPluginKubenet": {
+ "type": "boolean",
+ "description": "Customer consent for enabling AAD pod identity addon in cluster using Kubenet network plugin."
+ },
+ "userAssignedIdentities": {
+ "description": "User assigned pod identity settings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentity"
+ }
+ },
+ "userAssignedIdentityExceptions": {
+ "description": "User assigned pod identity exception settings.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityException"
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "OSSKU": {
+ "type": "string",
+ "enum": [
+ "Ubuntu",
+ "CBLMariner"
+ ],
+ "x-ms-enum": {
+ "name": "OSSKU",
+ "modelAsString": true
+ },
+ "description": "OsSKU to be used to specify os sku. Choose from Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows OSType."
+ },
+ "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."
+ },
+ "KubeletDiskType": {
+ "type": "string",
+ "enum": [
+ "OS",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "KubeletDiskType",
+ "modelAsString": true
+ },
+ "description": "KubeletDiskType determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Allowed values: 'OS', 'Temporary' (preview)."
+ },
+ "KubeletConfig": {
+ "description": "Kubelet configurations of agent nodes.",
+ "type": "object",
+ "properties": {
+ "cpuManagerPolicy": {
+ "type": "string",
+ "description": "CPU Manager policy to use."
+ },
+ "cpuCfsQuota": {
+ "type": "boolean",
+ "description": "Enable CPU CFS quota enforcement for containers that specify CPU limits."
+ },
+ "cpuCfsQuotaPeriod": {
+ "type": "string",
+ "description": "Sets CPU CFS quota period value."
+ },
+ "imageGcHighThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The percent of disk usage after which image garbage collection is always run."
+ },
+ "imageGcLowThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The percent of disk usage before which image garbage collection is never run."
+ },
+ "topologyManagerPolicy": {
+ "type": "string",
+ "description": "Topology Manager policy to use."
+ },
+ "allowedUnsafeSysctls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`)."
+ },
+ "failSwapOn": {
+ "type": "boolean",
+ "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node."
+ },
+ "containerLogMaxSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated."
+ },
+ "containerLogMaxFiles": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.",
+ "minimum": 2
+ },
+ "podMaxPids": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of processes per pod."
+ }
+ }
+ },
+ "LinuxOSConfig": {
+ "description": "OS configurations of Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "sysctls": {
+ "$ref": "#/definitions/SysctlConfig",
+ "description": "Sysctl settings for Linux agent nodes."
+ },
+ "transparentHugePageEnabled": {
+ "type": "string",
+ "description": "Transparent Huge Page enabled configuration."
+ },
+ "transparentHugePageDefrag": {
+ "type": "string",
+ "description": "Transparent Huge Page defrag configuration."
+ },
+ "swapFileSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "SwapFileSizeMB specifies size in MB of a swap file will be created on each node."
+ }
+ }
+ },
+ "SysctlConfig": {
+ "description": "Sysctl settings for Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "netCoreSomaxconn": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.somaxconn."
+ },
+ "netCoreNetdevMaxBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.netdev_max_backlog."
+ },
+ "netCoreRmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_default."
+ },
+ "netCoreRmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_max."
+ },
+ "netCoreWmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_default."
+ },
+ "netCoreWmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_max."
+ },
+ "netCoreOptmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.optmem_max."
+ },
+ "netIpv4TcpMaxSynBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog."
+ },
+ "netIpv4TcpMaxTwBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets."
+ },
+ "netIpv4TcpFinTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_fin_timeout."
+ },
+ "netIpv4TcpKeepaliveTime": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_time."
+ },
+ "netIpv4TcpKeepaliveProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_probes."
+ },
+ "netIpv4TcpkeepaliveIntvl": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl."
+ },
+ "netIpv4TcpTwReuse": {
+ "type": "boolean",
+ "description": "Sysctl setting net.ipv4.tcp_tw_reuse."
+ },
+ "netIpv4IpLocalPortRange": {
+ "type": "string",
+ "description": "Sysctl setting net.ipv4.ip_local_port_range."
+ },
+ "netIpv4NeighDefaultGcThresh1": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1."
+ },
+ "netIpv4NeighDefaultGcThresh2": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2."
+ },
+ "netIpv4NeighDefaultGcThresh3": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3."
+ },
+ "netNetfilterNfConntrackMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_max."
+ },
+ "netNetfilterNfConntrackBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_buckets."
+ },
+ "fsInotifyMaxUserWatches": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.inotify.max_user_watches."
+ },
+ "fsFileMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.file-max."
+ },
+ "fsAioMaxNr": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.aio-max-nr."
+ },
+ "fsNrOpen": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.nr_open."
+ },
+ "kernelThreadsMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting kernel.threads-max."
+ },
+ "vmMaxMapCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.max_map_count."
+ },
+ "vmSwappiness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.swappiness."
+ },
+ "vmVfsCachePressure": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.vfs_cache_pressure."
+ }
+ }
+ },
+ "ManagedClusterHTTPProxyConfig": {
+ "description": "Configurations for provisioning the cluster with HTTP proxy servers.",
+ "type": "object",
+ "properties": {
+ "httpProxy": {
+ "type": "string",
+ "description": "HTTP proxy server endpoint to use."
+ },
+ "httpsProxy": {
+ "type": "string",
+ "description": "HTTPS proxy server endpoint to use."
+ },
+ "noProxy": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Endpoints that should not go through proxy."
+ },
+ "trustedCa": {
+ "type": "string",
+ "description": "Alternative CA cert to use for connecting to proxy servers."
+ }
+ }
+ },
+ "GPUInstanceProfile": {
+ "type": "string",
+ "enum": [
+ "MIG1g",
+ "MIG2g",
+ "MIG3g",
+ "MIG4g",
+ "MIG7g"
+ ],
+ "x-ms-enum": {
+ "name": "GPUInstanceProfile ",
+ "modelAsString": true
+ },
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g."
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "OSOptionProperty": {
+ "properties": {
+ "os-type": {
+ "type": "string",
+ "description": "OS type."
+ },
+ "enable-fips-image": {
+ "type": "boolean",
+ "description": "Whether FIPS image is enabled."
+ }
+ },
+ "required": [
+ "os-type",
+ "enable-fips-image"
+ ],
+ "description": "OS option property."
+ },
+ "OSOptionPropertyList": {
+ "properties": {
+ "osOptionPropertyList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSOptionProperty"
+ },
+ "description": "The list of OS option properties."
+ }
+ },
+ "required": [
+ "osOptionPropertyList"
+ ],
+ "description": "The list of OS option properties."
+ },
+ "OSOptionProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the OS option profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the OS option profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the OS option profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/OSOptionPropertyList",
+ "description": "The list of an OS option properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The OS option profile."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resource-type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "resource type for which the OS options needs to be returned",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/readme.azureresourceschema.md b/specification/containerservice/resource-manager/readme.azureresourceschema.md
index 87ee99b9b437..faf3ded9a466 100644
--- a/specification/containerservice/resource-manager/readme.azureresourceschema.md
+++ b/specification/containerservice/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-containerservice-2021-03-01
- tag: schema-containerservice-2021-02-01
- tag: schema-containerservice-2020-12-01
- tag: schema-containerservice-2020-11-01
@@ -39,13 +40,26 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-containerservice-2021-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2021-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2021-03-01/managedClusters.json
+
+```
+
### Tag: schema-containerservice-2021-02-01 and azureresourceschema
``` yaml $(tag) == 'schema-containerservice-2021-02-01' && $(azureresourceschema)
output-folder: $(azureresourceschema-folder)/schemas
+
# all the input files in this apiVersion
input-file:
- Microsoft.ContainerService/stable/2021-02-01/managedClusters.json
+
```
### Tag: schema-containerservice-2020-12-01 and azureresourceschema
diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
index 2567d50d7c2b..d545be48b756 100644
--- a/specification/containerservice/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
@@ -12,6 +12,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-03
- tag: package-2021-02
- tag: package-2020-12
- tag: package-2020-11
@@ -38,6 +39,15 @@ batch:
- tag: package-2017-07
```
+### Tag: package-2021-03 and go
+
+These settings apply only when `--package-2021-03 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-03' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-03-01/$(namespace)
+```
### Tag: package-2021-02 and go
These settings apply only when `--package-2021-02 --go` is specified on the command line.
diff --git a/specification/containerservice/resource-manager/readme.java.md b/specification/containerservice/resource-manager/readme.java.md
index c878da82d013..22255152bc3b 100644
--- a/specification/containerservice/resource-manager/readme.java.md
+++ b/specification/containerservice/resource-manager/readme.java.md
@@ -30,6 +30,20 @@ batch:
- tag: package-2020-11
- tag: package-2020-12
- tag: package-2021-02
+ - tag: package-2021-03
+```
+
+### Tag: package-2021-03 and java
+
+These settings apply only when `--tag=package-2021-03` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2021_03_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2021_03_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2021-02 and java
diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md
index 76b856d5d497..3fed3fea79aa 100644
--- a/specification/containerservice/resource-manager/readme.md
+++ b/specification/containerservice/resource-manager/readme.md
@@ -34,18 +34,27 @@ These are the global settings for the ContainerServices API.
``` yaml
openapi-type: arm
-tag: package-2021-02
+tag: package-2021-03
```
+### Tag: package-2021-03
+
+These settings apply only when `--tag=package-2021-03` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-03'
+input-file:
+ - Microsoft.ContainerService/stable/2021-03-01/managedClusters.json
+```
### Tag: package-2021-02
These settings apply only when `--tag=package-2021-02` is specified on the command line.
-```yaml $(tag) == 'package-2021-02'
+``` yaml $(tag) == 'package-2021-02'
input-file:
- Microsoft.ContainerService/stable/2021-02-01/managedClusters.json
```
+
### Tag: package-2020-12
These settings apply only when `--tag=package-2020-12` is specified on the command line.
@@ -310,6 +319,19 @@ input-file:
```
+### Tag: package-2021-03-01-only
+
+These settings apply only when `--tag=package-2021-03-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2021-03-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
### Tag: package-2021-02-01-only
These settings apply only when `--tag=package-2021-02-01-only` is specified on the command line.
diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md
index d5ca5a71dade..ddd4bfebd653 100644
--- a/specification/containerservice/resource-manager/readme.python.md
+++ b/specification/containerservice/resource-manager/readme.python.md
@@ -26,6 +26,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && !$(track2)
batch:
+ - tag: package-2021-03-01-only
- tag: package-2021-02-01-only
- tag: package-2020-12-01-only
- tag: package-2020-11-01-only
@@ -53,6 +54,7 @@ batch:
```yaml $(python) && $(multiapi) && $(track2)
batch:
+ - tag: package-2021-03-01-only
- tag: package-2021-02-01-only
- tag: package-2020-12-01-only
- tag: package-2020-11-01-only
@@ -85,6 +87,19 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-03-01-only and python
+
+These settings apply only when `--tag=package-2021-03-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-03-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2021_03_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_03_01
+namespace: azure.mgmt.containerservice.v2021_03_01
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_03_01
+```
+
### Tag: package-2021-02-01-only and python
These settings apply only when `--tag=package-2021-02-01-only --python` is specified on the command line.
diff --git a/specification/cosmos-db/data-plane/readme.go.md b/specification/cosmos-db/data-plane/readme.go.md
index 610b160a3ccf..71b2b7b2f924 100644
--- a/specification/cosmos-db/data-plane/readme.go.md
+++ b/specification/cosmos-db/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: storagetables
clear-output-folder: true
```
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/cosmos-db.json
index f35d0bee0923..fa06a6d20685 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/cosmos-db.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/cosmos-db.json
@@ -5112,6 +5112,78 @@
}
}
},
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations": {
+ "get": {
+ "operationId": "LocationList",
+ "x-ms-examples": {
+ "CosmosDBLocationList": {
+ "$ref": "./examples/CosmosDBLocationList.json"
+ }
+ },
+ "description": "List Cosmos DB locations and their properties",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/LocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}": {
+ "get": {
+ "operationId": "LocationGet",
+ "x-ms-examples": {
+ "CosmosDBLocationGet": {
+ "$ref": "./examples/CosmosDBLocationGet.json"
+ }
+ },
+ "description": "Get the properties of an existing Cosmos DB location",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cosmos DB location properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/LocationGetResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}": {
"get": {
"operationId": "RestorableDatabaseAccounts_GetByLocation",
@@ -8467,7 +8539,6 @@
},
"PublicNetworkAccess": {
"type": "string",
- "readOnly": true,
"description": "Whether requests from Public Network are allowed",
"enum": [
"Enabled",
@@ -8721,6 +8792,64 @@
}
}
},
+ "LocationListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocationGetResult"
+ },
+ "description": "List of Cosmos DB locations and their properties."
+ }
+ },
+ "description": "The List operation response, that contains Cosmos DB locations and their properties."
+ },
+ "LocationGetResult": {
+ "description": "Cosmos DB location get result",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "description": "Cosmos DB location metadata",
+ "$ref": "#/definitions/LocationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "LocationProperties": {
+ "description": "Cosmos DB location metadata",
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current status of location in Azure."
+ },
+ "supportsAvailabilityZone": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Flag indicating whether the location supports availability zones or not."
+ },
+ "isResidencyRestricted": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Flag indicating whether the location is residency sensitive."
+ },
+ "backupStorageRedundancies": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupStorageRedundancy"
+ },
+ "description": "The properties of available backup storage redundancies."
+ }
+ }
+ },
"ApiType": {
"description": "Enum to indicate the API type of the restorable database account.",
"type": "string",
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
index 2061cf961dbd..f67c054885f3 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -31,6 +31,7 @@
"ignoreMissingVNetServiceEndpoint": false
}
],
+ "publicNetworkAccess": "Enabled",
"locations": [
{
"failoverPriority": 0,
@@ -159,6 +160,7 @@
"id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
}
],
+ "publicNetworkAccess": "Enabled",
"keyVaultKeyUri": "https://myKeyVault.vault.azure.net",
"enableFreeTier": false,
"ipRules": [
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBLocationGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBLocationGet.json
new file mode 100644
index 000000000000..66c2b6036eb8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBLocationGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "location": "westus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus",
+ "type": "Microsoft.DocumentDB/locations",
+ "name": "westus",
+ "properties": {
+ "status": "ProductionSLA",
+ "supportsAvailabilityZone": true,
+ "isResidencyRestricted": true,
+ "backupStorageRedundancies": [
+ "Local",
+ "Geo"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBLocationList.json
new file mode 100644
index 000000000000..9993c9816c68
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-03-01-preview/examples/CosmosDBLocationList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus",
+ "type": "Microsoft.DocumentDB/locations",
+ "name": "westus",
+ "properties": {
+ "status": "ProductionSLA",
+ "supportsAvailabilityZone": false,
+ "isResidencyRestricted": false,
+ "backupStorageRedundancies": [
+ "Local",
+ "Geo"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/centralus",
+ "type": "Microsoft.DocumentDB/locations",
+ "name": "centralus",
+ "properties": {
+ "status": "ProductionSLA",
+ "supportsAvailabilityZone": true,
+ "isResidencyRestricted": false,
+ "backupStorageRedundancies": [
+ "Zone",
+ "Geo"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/cosmos-db.json
new file mode 100644
index 000000000000..79131a7aee13
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/cosmos-db.json
@@ -0,0 +1,8586 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-03-15"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/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
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedServiceIdentity"
+ },
+ "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": "../../stable/2021-03-15/privateEndpointConnection.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ },
+ "defaultIdentity": {
+ "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.",
+ "type": "string"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether requests from Public Network are allowed",
+ "$ref": "#/definitions/PublicNetworkAccess"
+ },
+ "enableFreeTier": {
+ "description": "Flag to indicate whether Free Tier is enabled.",
+ "type": "boolean"
+ },
+ "apiProperties": {
+ "description": "API specific properties.",
+ "type": "object",
+ "$ref": "#/definitions/ApiProperties"
+ },
+ "enableAnalyticalStorage": {
+ "description": "Flag to indicate whether to enable storage analytics.",
+ "type": "boolean"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ },
+ "networkAclBypass": {
+ "description": "Indicates what services are allowed to bypass firewall checks.",
+ "$ref": "#/definitions/NetworkAclBypass"
+ },
+ "networkAclBypassResourceIds": {
+ "type": "array",
+ "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DatabaseAccountCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "locations": {
+ "type": "array",
+ "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "databaseAccountOfferType": {
+ "description": "The offer type for the database",
+ "$ref": "#/definitions/DatabaseAccountOfferType"
+ },
+ "ipRules": {
+ "description": "List of IpRules.",
+ "$ref": "#/definitions/IPRules"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ },
+ "defaultIdentity": {
+ "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.",
+ "type": "string"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether requests from Public Network are allowed",
+ "$ref": "#/definitions/PublicNetworkAccess"
+ },
+ "enableFreeTier": {
+ "description": "Flag to indicate whether Free Tier is enabled.",
+ "type": "boolean"
+ },
+ "apiProperties": {
+ "description": "API specific properties. Currently, supported only for MongoDB API.",
+ "type": "object",
+ "$ref": "#/definitions/ApiProperties"
+ },
+ "enableAnalyticalStorage": {
+ "description": "Flag to indicate whether to enable storage analytics.",
+ "type": "boolean"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ },
+ "networkAclBypass": {
+ "description": "Indicates what services are allowed to bypass firewall checks.",
+ "$ref": "#/definitions/NetworkAclBypass"
+ },
+ "networkAclBypassResourceIds": {
+ "type": "array",
+ "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "locations",
+ "databaseAccountOfferType"
+ ]
+ },
+ "DatabaseAccountCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "Indicates the type of database account. This can only be set at database account creation.",
+ "type": "string",
+ "default": "GlobalDocumentDB",
+ "enum": [
+ "GlobalDocumentDB",
+ "MongoDB",
+ "Parse"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountKind",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedServiceIdentity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "DatabaseAccountUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "consistencyPolicy": {
+ "description": "The consistency policy for the Cosmos DB account.",
+ "$ref": "#/definitions/ConsistencyPolicy"
+ },
+ "locations": {
+ "type": "array",
+ "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/Location"
+ }
+ },
+ "ipRules": {
+ "description": "List of IpRules.",
+ "$ref": "#/definitions/IPRules"
+ },
+ "isVirtualNetworkFilterEnabled": {
+ "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.",
+ "type": "boolean"
+ },
+ "enableAutomaticFailover": {
+ "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.",
+ "type": "boolean"
+ },
+ "capabilities": {
+ "type": "array",
+ "description": "List of Cosmos DB capabilities for the account",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "enableMultipleWriteLocations": {
+ "description": "Enables the account to write in multiple locations",
+ "type": "boolean"
+ },
+ "enableCassandraConnector": {
+ "description": "Enables the cassandra connector on the Cosmos DB C* account",
+ "type": "boolean"
+ },
+ "connectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB database C* account.",
+ "$ref": "#/definitions/ConnectorOffer"
+ },
+ "disableKeyBasedMetadataWriteAccess": {
+ "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys",
+ "type": "boolean"
+ },
+ "keyVaultKeyUri": {
+ "description": "The URI of the key vault",
+ "type": "string"
+ },
+ "defaultIdentity": {
+ "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.",
+ "type": "string"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether requests from Public Network are allowed",
+ "$ref": "#/definitions/PublicNetworkAccess"
+ },
+ "enableFreeTier": {
+ "description": "Flag to indicate whether Free Tier is enabled.",
+ "type": "boolean"
+ },
+ "apiProperties": {
+ "description": "API specific properties. Currently, supported only for MongoDB API.",
+ "type": "object",
+ "$ref": "#/definitions/ApiProperties"
+ },
+ "enableAnalyticalStorage": {
+ "description": "Flag to indicate whether to enable storage analytics.",
+ "type": "boolean"
+ },
+ "backupPolicy": {
+ "description": "The object representing the policy for taking backups on an account.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicy"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
+ },
+ "networkAclBypass": {
+ "description": "Indicates what services are allowed to bypass firewall checks.",
+ "$ref": "#/definitions/NetworkAclBypass"
+ },
+ "networkAclBypassResourceIds": {
+ "type": "array",
+ "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DatabaseAccountUpdateParameters": {
+ "description": "Parameters for patching Azure Cosmos DB database account properties.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedServiceIdentity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountUpdateProperties"
+ }
+ }
+ },
+ "DatabaseAccountListReadOnlyKeysResult": {
+ "description": "The read-only access keys for the given database account.",
+ "properties": {
+ "primaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-only key."
+ },
+ "secondaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-only key."
+ }
+ }
+ },
+ "DatabaseAccountListKeysResult": {
+ "description": "The access keys for the given database account.",
+ "properties": {
+ "primaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-write key."
+ },
+ "secondaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-write key."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ ]
+ },
+ "DatabaseAccountConnectionString": {
+ "description": "Connection string for the Cosmos DB account",
+ "properties": {
+ "connectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Value of the connection string"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the connection string"
+ }
+ }
+ },
+ "DatabaseAccountListConnectionStringsResult": {
+ "description": "The connection strings for the given database account.",
+ "properties": {
+ "connectionStrings": {
+ "type": "array",
+ "description": "An array that contains the connection strings for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccountConnectionString"
+ }
+ }
+ }
+ },
+ "DatabaseAccountRegenerateKeyParameters": {
+ "type": "object",
+ "description": "Parameters to regenerate the keys within the database account.",
+ "properties": {
+ "keyKind": {
+ "type": "string",
+ "description": "The access key to regenerate.",
+ "enum": [
+ "primary",
+ "secondary",
+ "primaryReadonly",
+ "secondaryReadonly"
+ ],
+ "x-ms-enum": {
+ "name": "KeyKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "keyKind"
+ ]
+ },
+ "DatabaseAccountOfferType": {
+ "description": "The offer type for the Cosmos DB database account.",
+ "type": "string",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountOfferType",
+ "modelAsString": false
+ }
+ },
+ "ThroughputSettingsUpdateParameters": {
+ "description": "Parameters to update Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "$ref": "#/definitions/ThroughputSettingsUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "ThroughputSettingsUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a resource throughput",
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "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. For MultiHash, multiple partition keys (upto three maximum) are supported for container create",
+ "type": "string",
+ "default": "Hash",
+ "enum": [
+ "Hash",
+ "Range",
+ "MultiHash"
+ ],
+ "x-ms-enum": {
+ "name": "PartitionKind",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "Indicates the version of the partition key definition",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 2,
+ "format": "int32"
+ },
+ "systemKey": {
+ "description": "Indicates if the container is using a system generated partition key",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "Path": {
+ "type": "string",
+ "description": "A path. These typically start with root (/path)"
+ },
+ "UniqueKeyPolicy": {
+ "type": "object",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.",
+ "properties": {
+ "uniqueKeys": {
+ "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UniqueKey"
+ }
+ }
+ }
+ },
+ "UniqueKey": {
+ "type": "object",
+ "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.",
+ "properties": {
+ "paths": {
+ "description": "List of paths must be unique for each document in the Azure Cosmos DB service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Path"
+ }
+ }
+ }
+ },
+ "ConflictResolutionPolicy": {
+ "type": "object",
+ "description": "The conflict resolution policy for the container.",
+ "properties": {
+ "mode": {
+ "description": "Indicates the conflict resolution mode.",
+ "type": "string",
+ "default": "LastWriterWins",
+ "enum": [
+ "LastWriterWins",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ConflictResolutionMode",
+ "modelAsString": true
+ }
+ },
+ "conflictResolutionPath": {
+ "type": "string",
+ "description": "The conflict resolution path in the case of LastWriterWins mode."
+ },
+ "conflictResolutionProcedure": {
+ "type": "string",
+ "description": "The procedure to resolve conflicts in the case of custom mode."
+ }
+ }
+ },
+ "SqlStoredProcedureResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL storedProcedure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL storedProcedure"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the Stored Procedure"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlUserDefinedFunctionResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL userDefinedFunction resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL userDefinedFunction"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the User Defined Function"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlTriggerResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL trigger resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL trigger"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the Trigger"
+ },
+ "triggerType": {
+ "type": "string",
+ "enum": [
+ "Pre",
+ "Post"
+ ],
+ "description": "Type of the Trigger",
+ "x-ms-enum": {
+ "name": "triggerType",
+ "modelAsString": true
+ }
+ },
+ "triggerOperation": {
+ "type": "string",
+ "enum": [
+ "All",
+ "Create",
+ "Update",
+ "Delete",
+ "Replace"
+ ],
+ "description": "The operation the trigger is associated with",
+ "x-ms-enum": {
+ "name": "triggerOperation",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "MongoDBDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB MongoDB database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "MongoDBCollectionResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB MongoDB collection"
+ },
+ "shardKey": {
+ "description": "A key-value pair of shard keys to be applied for the request.",
+ "$ref": "#/definitions/ShardKeys"
+ },
+ "indexes": {
+ "description": "List of index keys",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoIndex"
+ }
+ },
+ "analyticalStorageTtl": {
+ "type": "integer",
+ "description": "Analytical TTL."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "ShardKeys": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The shard key and partition kind pair, only support \"Hash\" partition kind"
+ },
+ "MongoIndex": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection index key",
+ "properties": {
+ "key": {
+ "description": "Cosmos DB MongoDB collection index keys",
+ "$ref": "#/definitions/MongoIndexKeys"
+ },
+ "options": {
+ "description": "Cosmos DB MongoDB collection index key options",
+ "$ref": "#/definitions/MongoIndexOptions"
+ }
+ }
+ },
+ "MongoIndexKeys": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection resource object",
+ "properties": {
+ "keys": {
+ "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Key"
+ }
+ }
+ }
+ },
+ "Key": {
+ "type": "string",
+ "description": "A Key."
+ },
+ "MongoIndexOptions": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection index options",
+ "properties": {
+ "expireAfterSeconds": {
+ "description": "Expire after seconds",
+ "type": "integer"
+ },
+ "unique": {
+ "description": "Is unique or not",
+ "type": "boolean"
+ }
+ }
+ },
+ "TableResource": {
+ "type": "object",
+ "description": "Cosmos DB table resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB table"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraKeyspaceResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra keyspace resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra keyspace"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraTableResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table"
+ },
+ "defaultTtl": {
+ "type": "integer",
+ "description": "Time to live of the Cosmos DB Cassandra table"
+ },
+ "schema": {
+ "description": "Schema of the Cosmos DB Cassandra table",
+ "$ref": "#/definitions/CassandraSchema"
+ },
+ "analyticalStorageTtl": {
+ "type": "integer",
+ "description": "Analytical TTL."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CassandraSchema": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table schema",
+ "properties": {
+ "columns": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Column"
+ },
+ "description": "List of Cassandra table columns."
+ },
+ "partitionKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraPartitionKey"
+ },
+ "description": "List of partition key."
+ },
+ "clusterKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterKey"
+ },
+ "description": "List of cluster key."
+ }
+ }
+ },
+ "Column": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table column",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table column"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the Cosmos DB Cassandra table column"
+ }
+ }
+ },
+ "CassandraPartitionKey": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table partition key",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table partition key"
+ }
+ }
+ },
+ "ClusterKey": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra table cluster key",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra table cluster key"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\""
+ }
+ }
+ },
+ "GremlinDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB Gremlin database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "GremlinGraphResource": {
+ "type": "object",
+ "description": "Cosmos DB Gremlin graph resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Gremlin graph"
+ },
+ "indexingPolicy": {
+ "$ref": "#/definitions/IndexingPolicy",
+ "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph"
+ },
+ "partitionKey": {
+ "$ref": "#/definitions/ContainerPartitionKey",
+ "description": "The configuration of the partition key to be used for partitioning data into multiple partitions"
+ },
+ "defaultTtl": {
+ "type": "integer",
+ "description": "Default time to live"
+ },
+ "uniqueKeyPolicy": {
+ "$ref": "#/definitions/UniqueKeyPolicy",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service."
+ },
+ "conflictResolutionPolicy": {
+ "$ref": "#/definitions/ConflictResolutionPolicy",
+ "description": "The conflict resolution policy for the graph."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "CreateUpdateOptions": {
+ "type": "object",
+ "properties": {
+ "throughput": {
+ "type": "integer",
+ "description": "Request Units per second. For example, \"throughput\": 10000."
+ },
+ "autoscaleSettings": {
+ "$ref": "#/definitions/AutoscaleSettings",
+ "description": "Specifies the Autoscale settings."
+ }
+ },
+ "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\""
+ },
+ "AutoscaleSettings": {
+ "type": "object",
+ "properties": {
+ "maxThroughput": {
+ "type": "integer",
+ "description": "Represents maximum throughput, the resource can scale up to."
+ }
+ }
+ },
+ "Capability": {
+ "type": "object",
+ "description": "Cosmos DB capability object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"."
+ }
+ }
+ },
+ "Tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"."
+ },
+ "ManagedServiceIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned,UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the resource."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed."
+ },
+ "IPRules": {
+ "type": "array",
+ "description": "Array of IpAddressOrRange objects.",
+ "items": {
+ "$ref": "#/definitions/IpAddressOrRange"
+ }
+ },
+ "IpAddressOrRange": {
+ "type": "object",
+ "description": "IpAddressOrRange object",
+ "properties": {
+ "ipAddressOrRange": {
+ "type": "string",
+ "description": "A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”."
+ }
+ }
+ },
+ "VirtualNetworkRule": {
+ "type": "object",
+ "description": "Virtual Network ACL Rule object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}."
+ },
+ "ignoreMissingVNetServiceEndpoint": {
+ "type": "boolean",
+ "description": "Create firewall rule before the virtual network has vnet service endpoint enabled."
+ }
+ }
+ },
+ "NetworkAclBypass": {
+ "description": "Indicates what services are allowed to bypass firewall checks.",
+ "type": "string",
+ "enum": [
+ "None",
+ "AzureServices"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkAclBypass",
+ "modelAsString": false
+ }
+ },
+ "Operation": {
+ "description": "REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "Provider": {
+ "description": "Service provider: Microsoft.ResourceProvider",
+ "type": "string"
+ },
+ "Resource": {
+ "description": "Resource on which the operation is performed: Profile, endpoint, etc.",
+ "type": "string"
+ },
+ "Operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string"
+ },
+ "Description": {
+ "description": "Description of operation",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by the Resource Provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "UsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "description": "The list of usages for the database. A usage is a point in time metric"
+ }
+ },
+ "description": "The response to a list usage request."
+ },
+ "Usage": {
+ "properties": {
+ "unit": {
+ "description": "The unit of the metric.",
+ "$ref": "#/definitions/UnitType"
+ },
+ "name": {
+ "$ref": "#/definitions/MetricName",
+ "readOnly": true,
+ "description": "The name information for the metric."
+ },
+ "quotaPeriod": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The quota period used to summarize the usage values."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Maximum value for this metric"
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Current value for this metric"
+ }
+ },
+ "description": "The usage data for a usage request."
+ },
+ "PartitionUsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PartitionUsage"
+ },
+ "description": "The list of partition-level usages for the database. A usage is a point in time metric"
+ }
+ },
+ "description": "The response to a list partition level usage request."
+ },
+ "PartitionUsage": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Usage"
+ }
+ ],
+ "properties": {
+ "partitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition id (GUID identifier) of the usages."
+ },
+ "partitionKeyRangeId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition key range id (integer identifier) of the usages."
+ }
+ },
+ "description": "The partition level usage data for a usage request."
+ },
+ "MetricDefinitionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MetricDefinition"
+ },
+ "description": "The list of metric definitions for the account."
+ }
+ },
+ "description": "The response to a list metric definitions request."
+ },
+ "MetricDefinition": {
+ "properties": {
+ "metricAvailabilities": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MetricAvailability"
+ },
+ "description": "The list of metric availabilities for the account."
+ },
+ "primaryAggregationType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The primary aggregation type of the metric.",
+ "enum": [
+ "None",
+ "Average",
+ "Total",
+ "Minimum",
+ "Maximum",
+ "Last"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PrimaryAggregationType"
+ }
+ },
+ "unit": {
+ "description": "The unit of the metric.",
+ "$ref": "#/definitions/UnitType"
+ },
+ "resourceUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource uri of the database."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ }
+ },
+ "description": "The definition of a metric."
+ },
+ "MetricAvailability": {
+ "properties": {
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "retention": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The retention for the metric values."
+ }
+ },
+ "description": "The availability of the metric."
+ },
+ "MetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Metric"
+ },
+ "description": "The list of metrics for the account."
+ }
+ },
+ "description": "The response to a list metrics request."
+ },
+ "Metric": {
+ "properties": {
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time for the metric (ISO-8601 format)."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time for the metric (ISO-8601 format)."
+ },
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "unit": {
+ "$ref": "#/definitions/UnitType",
+ "description": "The unit of the metric."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ },
+ "metricValues": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricValue"
+ },
+ "description": "The metric values for the specified time window and timestep."
+ }
+ },
+ "description": "Metric data"
+ },
+ "MetricName": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the metric."
+ },
+ "localizedValue": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The friendly name of the metric."
+ }
+ },
+ "description": "A metric name."
+ },
+ "MetricValue": {
+ "properties": {
+ "_count": {
+ "readOnly": true,
+ "type": "number",
+ "format": "int32",
+ "description": "The number of values for the metric."
+ },
+ "average": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The average value of the metric."
+ },
+ "maximum": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The max value of the metric."
+ },
+ "minimum": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The min value of the metric."
+ },
+ "timestamp": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The metric timestamp (ISO-8601 format)."
+ },
+ "total": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The total value of the metric."
+ }
+ },
+ "description": "Represents metrics values."
+ },
+ "PercentileMetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PercentileMetric"
+ },
+ "description": "The list of percentile metrics for the account."
+ }
+ },
+ "description": "The response to a list percentile metrics request."
+ },
+ "PercentileMetric": {
+ "properties": {
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The start time for the metric (ISO-8601 format)."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The end time for the metric (ISO-8601 format)."
+ },
+ "timeGrain": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The time grain to be used to summarize the metric values."
+ },
+ "unit": {
+ "$ref": "#/definitions/UnitType",
+ "description": "The unit of the metric."
+ },
+ "name": {
+ "readOnly": true,
+ "$ref": "#/definitions/MetricName",
+ "description": "The name information for the metric."
+ },
+ "metricValues": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PercentileMetricValue"
+ },
+ "description": "The percentile metric values for the specified time window and timestep."
+ }
+ },
+ "description": "Percentile Metric data"
+ },
+ "PercentileMetricValue": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MetricValue"
+ }
+ ],
+ "properties": {
+ "P10": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 10th percentile value for the metric."
+ },
+ "P25": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 25th percentile value for the metric."
+ },
+ "P50": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 50th percentile value for the metric."
+ },
+ "P75": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 75th percentile value for the metric."
+ },
+ "P90": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 90th percentile value for the metric."
+ },
+ "P95": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 95th percentile value for the metric."
+ },
+ "P99": {
+ "readOnly": true,
+ "type": "number",
+ "format": "double",
+ "description": "The 99th percentile value for the metric."
+ }
+ },
+ "description": "Represents percentile metrics values."
+ },
+ "PartitionMetricListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartitionMetric"
+ },
+ "description": "The list of partition-level metrics for the account."
+ }
+ },
+ "description": "The response to a list partition metrics request."
+ },
+ "PartitionMetric": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Metric"
+ }
+ ],
+ "properties": {
+ "partitionId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition id (GUID identifier) of the metric values."
+ },
+ "partitionKeyRangeId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The partition key range id (integer identifier) of the metric values."
+ }
+ },
+ "description": "The metric values for a single partition."
+ },
+ "UnitType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The unit of the metric.",
+ "enum": [
+ "Count",
+ "Bytes",
+ "Seconds",
+ "Percent",
+ "CountPerSecond",
+ "BytesPerSecond",
+ "Milliseconds"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "UnitType"
+ }
+ },
+ "ConnectorOffer": {
+ "description": "The cassandra connector offer type for the Cosmos DB C* database account.",
+ "type": "string",
+ "enum": [
+ "Small"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectorOffer",
+ "modelAsString": true
+ }
+ },
+ "PublicNetworkAccess": {
+ "type": "string",
+ "description": "Whether requests from Public Network are allowed",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "ApiProperties": {
+ "type": "object",
+ "properties": {
+ "serverVersion": {
+ "type": "string",
+ "enum": [
+ "3.2",
+ "3.6",
+ "4.0"
+ ],
+ "description": "Describes the ServerVersion of an a MongoDB account.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ServerVersion"
+ }
+ }
+ }
+ },
+ "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/2021-03-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..620fa08a420f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..4026b0f56cad
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..88a596996876
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..86faf20cef7d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
new file mode 100644
index 000000000000..4a447c22be7f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
new file mode 100644
index 000000000000..0efafba7894e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..d338341d7709
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..b4b8085f4094
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..45a0bb32d5ea
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..a1bf9bbd4686
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..53e53a368f83
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..f5bb582a07fd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..ccd62f314aa7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..c9fedeb4bfeb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..6003fd942774
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..ba39f83cd532
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..f1ae50a9a99e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..747c1704f07b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..95dc4d8fd5a4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..5b2d63af5dbe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..50696b07248d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..3261f6e50d27
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..0a1d3002a201
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2021-03-15"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..a2ba859bc6e8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,202 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "createUpdateParameters": {
+ "location": "westus",
+ "tags": {},
+ "kind": "MongoDB",
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
+ "properties": {
+ "databaseAccountOfferType": "Standard",
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "isVirtualNetworkFilterEnabled": true,
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "publicNetworkAccess": "Enabled",
+ "locations": [
+ {
+ "failoverPriority": 0,
+ "locationName": "southcentralus",
+ "isZoneRedundant": false
+ },
+ {
+ "failoverPriority": 1,
+ "locationName": "eastus",
+ "isZoneRedundant": false
+ }
+ ],
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net",
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableFreeTier": false,
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ],
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "MongoDB",
+ "tags": {},
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656",
+ "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d"
+ }
+ }
+ },
+ "properties": {
+ "provisioningState": "Initializing",
+ "isVirtualNetworkFilterEnabled": true,
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 1,
+ "isZoneRedundant": false
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 0,
+ "isZoneRedundant": false
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "provisioningState": "Initializing",
+ "failoverPriority": 1,
+ "isZoneRedundant": false
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-southcentralus",
+ "locationName": "South Central US",
+ "failoverPriority": 0
+ },
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 1
+ }
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
+ }
+ ],
+ "publicNetworkAccess": "Enabled",
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net",
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableFreeTier": false,
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ],
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..8f8618cbadae
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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,
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..577bb28d43e3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..5b8e9b6b251c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..5b240e5f8263
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRules": [],
+ "isVirtualNetworkFilterEnabled": false,
+ "virtualNetworkRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "defaultIdentity": "FirstPartyIdentity",
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "cors": [],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8
+ }
+ },
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656",
+ "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..f786b978f4b5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-03-15"
+ },
+ "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/2021-03-15/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..c0f5b534b197
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..aea929efe53d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..4d75c1e30836
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "documentEndpoint": "https://ddb1.documents.azure.com:443/",
+ "ipRules": [],
+ "databaseAccountOfferType": "Standard",
+ "disableKeyBasedMetadataWriteAccess": false,
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "Session",
+ "maxIntervalInSeconds": 5,
+ "maxStalenessPrefix": 100
+ },
+ "writeLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "readLocations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "locations": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/",
+ "provisioningState": "Succeeded",
+ "failoverPriority": 0
+ }
+ ],
+ "failoverPolicies": [
+ {
+ "id": "ddb1-eastus",
+ "locationName": "East US",
+ "failoverPriority": 0
+ }
+ ],
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "cors": [],
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656",
+ "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..16a2ae50b8d6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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,
+ "defaultIdentity": "FirstPartyIdentity",
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": []
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656",
+ "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..c758c262ea66
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..0572d72d43ae
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..f41e31b23f2a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryMasterKey": "primaryMasterKey",
+ "secondaryMasterKey": "secondaryMasterKey",
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..fc009db5a0ae
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..f629053b60aa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..28c4579cd492
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..07e010e88e8c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "updateParameters": {
+ "location": "westus",
+ "tags": {
+ "dept": "finance"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
+ "properties": {
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "isVirtualNetworkFilterEnabled": true,
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
+ "ignoreMissingVNetServiceEndpoint": false
+ }
+ ],
+ "consistencyPolicy": {
+ "defaultConsistencyLevel": "BoundedStaleness",
+ "maxIntervalInSeconds": 10,
+ "maxStalenessPrefix": 200
+ },
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableFreeTier": false,
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ },
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1",
+ "name": "ddb1",
+ "location": "West US",
+ "type": "Microsoft.DocumentDB/databaseAccounts",
+ "kind": "GlobalDocumentDB",
+ "tags": {
+ "dept": "finance"
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656",
+ "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d",
+ "userAssignedIdentities": {
+ "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270436",
+ "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d"
+ }
+ }
+ },
+ "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": [],
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ },
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..c5683e4b39d4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..8064c3a285ad
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..babd7313a507
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..a826ac7e574c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..818a21a1c9ca
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..fde7f882b7a7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..17d8d9f113b8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..7a5d9f346222
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..c51f351cdac7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..24275fbdd95f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..7c31383905c2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..cb60976c36e4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..6bd8937f6f68
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..9cd8692e269c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..bc0afbbc3286
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..a28de338662c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..2afe0ff20507
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
new file mode 100644
index 000000000000..38eca2d265bc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
new file mode 100644
index 000000000000..b649fae7b794
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..a698ca303ddd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..1e44be5cac59
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..b721d527f0e1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..61d2fb4ff848
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..83cc106c456b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..377dcd4254ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
new file mode 100644
index 000000000000..65680d09c8cc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
new file mode 100644
index 000000000000..c67268c9fa7c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..7dfe7b3112bf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..2143b3f31c76
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..08aa55082aed
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..17d8d9f113b8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..283328d1f679
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..80d7b0caafbc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..24275fbdd95f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..7c31383905c2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..b32b727f07b4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..f716d9f2429a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceCreate.json
new file mode 100644
index 000000000000..52f22a65a2e0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceCreate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceDelete.json
new file mode 100644
index 000000000000..bc9875ecbf5d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceGet.json
new file mode 100644
index 000000000000..d9e3dbad6c2d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceList.json
new file mode 100644
index 000000000000..f9f30155d53d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
new file mode 100644
index 000000000000..cfd47a1b8fe7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
new file mode 100644
index 000000000000..253e7fb64de4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceStart.json
new file mode 100644
index 000000000000..253e7fb64de4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBNotebookWorkspaceStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..f4644f83252e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15"
+ },
+ "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/2021-03-15/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..e04487b75015
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..aea2364a785c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..538c28be856b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..2b50b2aaf57b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..1e453112c742
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..8ee93a298a8b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-03-15",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..779dc68777ea
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-03-15",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ },
+ "groupId": "Sql",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionListGet.json
new file mode 100644
index 000000000000..88e9c0dbd71f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionListGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-03-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ },
+ "groupId": "Sql",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName2",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ },
+ "groupId": "Sql",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..21ac36d63dac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-03-15",
+ "privateEndpointConnectionName": "privateEndpointConnectionName",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.DocumentDb/databaseAccounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ },
+ "groupId": "Sql",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateLinkResourceGet.json
new file mode 100644
index 000000000000..9e1cf80a1292
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateLinkResourceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-03-15",
+ "groupName": "sql"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql",
+ "name": "sql",
+ "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources",
+ "properties": {
+ "groupId": "sql",
+ "requiredMembers": [
+ "ddb1",
+ "ddb1-westus"
+ ],
+ "requiredZoneNames": [
+ "privatelink.documents.azure.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..2a3eae1dd8b9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBPrivateLinkResourceListGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-03-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql",
+ "name": "sql",
+ "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources",
+ "properties": {
+ "groupId": "sql",
+ "requiredMembers": [
+ "ddb1",
+ "ddb1-westus"
+ ],
+ "requiredZoneNames": [
+ "privatelink.documents.azure.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..404b06ffe0bf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..0f0ad08263e6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..fdfa13a102e9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..2473f148a983
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..617540320042
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,192 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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\""
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName1",
+ "name": "containerName1",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testctn1",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber",
+ "/AccountLocation"
+ ],
+ "kind": "MultiHash",
+ "version": 2
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDiw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName2",
+ "name": "containerName2",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testctn2",
+ "indexingPolicy": {
+ "indexingMode": "consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/_partitionKey"
+ ],
+ "kind": "Hash",
+ "version": 2,
+ "systemKey": true
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDhw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json
new file mode 100644
index 000000000000..86be8b37039a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
new file mode 100644
index 000000000000..944e00e4f0db
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..81497f8b23c9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..2192fd5d4ac9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..c40413b37099
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..17d8d9f113b8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..188c2f499e74
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..54e439a7a101
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..24275fbdd95f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..7c31383905c2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..b2a5649555fb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..282457e569a6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..e04973dd3aa0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..db6c8025914b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..bd5016651357
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..0cae4d44f890
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..77a3edd069fe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..2ced0cc1bfa3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..8c515450e4cb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..672b38e3448b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..66699f6a646a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..c7ba3fc95fdc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..6e1c0cb46283
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..70362881c321
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..40a62c288ee4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..f9702b32756a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..89e3b13cba48
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..496d7970c682
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..33848b80727d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..5be1a8a882a1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..d33769fdfcbb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..e846e85ca083
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-03-15",
+ "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/2021-03-15/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/notebook.json
new file mode 100644
index 000000000000..b245b324dfa1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/notebook.json
@@ -0,0 +1,461 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-03-15"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/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/2021-03-15/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/2021-03-15/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/2021-03-15/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/2021-03-15/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/2021-03-15/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/2021-03-15/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/2021-03-15/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotebookWorkspaceCreateUpdateParameters": {
+ "description": "Parameters to create a notebook workspace resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../stable/2021-03-15/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/2021-03-15/cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "NotebookWorkspaceProperties": {
+ "description": "Properties of a notebook workspace resource.",
+ "type": "object",
+ "properties": {
+ "notebookServerEndpoint": {
+ "description": "Specifies the endpoint of Notebook server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the notebook workspace. Possible values are: Creating, Online, Deleting, Failed, Updating.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NotebookWorkspaceConnectionInfoResult": {
+ "description": "The connection info for the given notebook workspace",
+ "properties": {
+ "authToken": {
+ "type": "string",
+ "description": "Specifies auth token used for connecting to Notebook server (uses token-based auth).",
+ "readOnly": true
+ },
+ "notebookServerEndpoint": {
+ "type": "string",
+ "description": "Specifies the endpoint of Notebook server.",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "NotebookWorkspaceNameParameter": {
+ "name": "notebookWorkspaceName",
+ "in": "path",
+ "description": "The name of the notebook workspace resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "NotebookWorkspaceName",
+ "modelAsString": true
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/privateEndpointConnection.json
new file mode 100644
index 000000000000..3cfd0db3abdf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/privateEndpointConnection.json
@@ -0,0 +1,318 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-03-15"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "List all private endpoint connections on a Cosmos DB account.",
+ "operationId": "PrivateEndpointConnections_ListByDatabaseAccount",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private endpoint connections.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Gets a private endpoint connection.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Approve or reject a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully approved or rejected private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted. The private endpoint connection update will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2021-03-15/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Approve or reject a private endpoint connection with a given name.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The private endpoint connection delete will complete asynchronously."
+ },
+ "204": {
+ "description": "Private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../stable/2021-03-15/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes a private endpoint connection with a given name.": {
+ "$ref": "./examples/CosmosDBPrivateEndpointConnectionDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateEndpointConnectionListResult": {
+ "description": "A list of private endpoint connections",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpointProperty",
+ "description": "Private endpoint which the connection belongs to."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty",
+ "description": "Connection State of the Private Endpoint Connection."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "Group id of the private endpoint."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the private endpoint."
+ }
+ }
+ },
+ "PrivateEndpointProperty": {
+ "type": "object",
+ "description": "Private endpoint which the connection belongs to.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource id of the private endpoint."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionStateProperty": {
+ "type": "object",
+ "description": "Connection State of the Private Endpoint Connection.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The private link service connection status."
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the private endpoint connection."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/privateLinkResources.json
new file mode 100644
index 000000000000..b298f7d8ef92
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-03-15/privateLinkResources.json
@@ -0,0 +1,195 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-03-15"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Cosmos DB account.",
+ "operationId": "PrivateLinkResources_ListByDatabaseAccount",
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateLinkResourceListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Cosmos DB account.",
+ "operationId": "PrivateLinkResources_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private link resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/CosmosDBPrivateLinkResourceGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateLinkResourceListResult": {
+ "description": "A list of private link resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../stable/2021-03-15/cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "Properties of a private link resource.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "description": "The private link resource required zone names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "accountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database account name.",
+ "minLength": 3,
+ "maxLength": 50,
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*"
+ },
+ "GroupNameParameter": {
+ "name": "groupName",
+ "in": "path",
+ "description": "The name of the private link resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/readme.azureresourceschema.md b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md
index 56ebd1bd167b..2345e18cdf89 100644
--- a/specification/cosmos-db/resource-manager/readme.azureresourceschema.md
+++ b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-documentdb-2021-03-15
- tag: schema-documentdb-2021-03-01-preview
- tag: schema-documentdb-2021-01-15
- tag: schema-documentdb-2020-09-01
@@ -25,6 +26,20 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-documentdb-2021-03-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2021-03-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2021-03-15/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2021-03-15/notebook.json
+ - Microsoft.DocumentDB/stable/2021-03-15/privateLinkResources.json
+ - Microsoft.DocumentDB/stable/2021-03-15/privateEndpointConnection.json
+
+```
+
### Tag: schema-documentdb-2021-03-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-documentdb-2021-03-01-preview' && $(azureresourceschema)
@@ -36,6 +51,7 @@ input-file:
- Microsoft.DocumentDB/preview/2021-03-01-preview/notebook.json
- Microsoft.DocumentDB/preview/2021-03-01-preview/rbac.json
- Microsoft.DocumentDB/preview/2021-03-01-preview/restorable.json
+ - Microsoft.DocumentDB/preview/2021-03-01-preview/managedCassandra.json
- Microsoft.DocumentDB/preview/2021-03-01-preview/privateLinkResources.json
- Microsoft.DocumentDB/preview/2021-03-01-preview/privateEndpointConnection.json
diff --git a/specification/cosmos-db/resource-manager/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md
index 453ff4b26082..b434637f3116 100644
--- a/specification/cosmos-db/resource-manager/readme.go.md
+++ b/specification/cosmos-db/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: documentdb
clear-output-folder: true
```
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-03
- tag: package-2021-03-preview
- tag: package-2021-01
- tag: package-2020-09
@@ -25,6 +26,15 @@ batch:
- tag: package-2015-04
```
+### Tag: package-2021-03 and go
+
+These settings apply only when `--tag=package-2021-03 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2021-03-15/$(namespace)
+```
+
### Tag: package-2021-03-preview and go
These settings apply only when `--tag=package-2021-03-preview --go` is specified on the command line.
diff --git a/specification/cosmos-db/resource-manager/readme.java.md b/specification/cosmos-db/resource-manager/readme.java.md
index f7913e351147..663384154e37 100644
--- a/specification/cosmos-db/resource-manager/readme.java.md
+++ b/specification/cosmos-db/resource-manager/readme.java.md
@@ -17,6 +17,7 @@ service-name: CosmosDB
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-03
- tag: package-2021-03-preview
- tag: package-2021-01
- tag: package-2020-09
@@ -29,6 +30,19 @@ batch:
- tag: package-2015-04
```
+### Tag: package-2021-03 and java
+
+These settings apply only when `--tag=package-2021-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2021_03_15
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmos/mgmt-v2021_03_15
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2021-03-preview and java
These settings apply only when `--tag=package-2021-03-preview --java` is specified on the command line.
diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md
index 87194ff6455a..4d016bb1b714 100644
--- a/specification/cosmos-db/resource-manager/readme.md
+++ b/specification/cosmos-db/resource-manager/readme.md
@@ -27,9 +27,25 @@ These are the global settings for the Cosmos-DB API.
``` yaml
title: CosmosDBManagementClient
openapi-type: arm
-tag: package-2021-03-preview
+tag: package-2021-03
```
+### Tag: package-2021-03
+
+These settings apply only when `--tag=package-2021-03` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-03'
+input-file:
+ - Microsoft.DocumentDB/stable/2021-03-15/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2021-03-15/notebook.json
+ - Microsoft.DocumentDB/stable/2021-03-15/privateLinkResources.json
+ - Microsoft.DocumentDB/stable/2021-03-15/privateEndpointConnection.json
+modelerfour:
+ lenient-model-deduplication: true
+```
+
+### Tag: package-2021-03-preview
+
These settings apply only when `--tag=package-2021-03-preview` is specified on the command line.
``` yaml $(tag) == 'package-2021-03-preview'
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/costmanagement.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/costmanagement.exports.json
new file mode 100644
index 000000000000..21b246f9e3e0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/costmanagement.exports.json
@@ -0,0 +1,885 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-12-01-preview",
+ "title": "CostManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/{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": {
+ "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"
+ }
+ }
+ },
+ "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": "This represents the blob storage account location where exports of costs will be delivered. There are two ways to configure the destination. The approach recommended for most customers is to specify the resourceId of the storage account. This requires a one-time registration of the account's subscription with the Microsoft.CostManagementExports resource provider in order to give Azure Cost Management services access to the storage. When creating an export in the Azure portal this registration is performed automatically but API users may need to register the subscription explicitly (for more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services ). Another way to configure the destination is available ONLY to Partners with a Microsoft Partner Agreement plan who are global admins of their billing account. These Partners, instead of specifying the resourceId of a storage account, can specify the storage account name along with a SAS token for the account. This allows exports of costs to a storage account in any tenant. The SAS token should be created for the blob service with Service/Container/Object resource types and with Read/Write/Delete/List/Add/Create permissions (for more information see https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/export-cost-data-storage-account-sas-key ).",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource id of the storage account where exports will be delivered. This is not required if a sasToken and storageAccount are specified.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of the container where exports will be uploaded. If the container does not exist it will be created.",
+ "type": "string"
+ },
+ "rootFolderPath": {
+ "description": "The name of the directory where exports will be uploaded.",
+ "type": "string"
+ },
+ "sasToken": {
+ "description": "A SAS token for the storage account. For a restricted set of Azure customers this together with storageAccount can be specified instead of resourceId. Note: the value returned by the API for this property will always be obfuscated. Returning this same obfuscated value will not result in the SAS token being updated. To update this value a new SAS token must be specified.",
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ },
+ "storageAccount": {
+ "description": "The storage account where exports will be uploaded. For a restricted set of Azure customers this together with sasToken can be specified instead of resourceId.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "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/ProxyResource"
+ }
+ ],
+ "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."
+ },
+ "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/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByBillingAccount.json
new file mode 100644
index 000000000000..641fb9ed216c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByBillingAccount.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByDepartment.json
new file mode 100644
index 000000000000..8589ef652f95
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByDepartment.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByEnrollmentAccount.json
new file mode 100644
index 000000000000..fff28941938c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByEnrollmentAccount.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByManagementGroup.json
new file mode 100644
index 000000000000..406e96fac759
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByManagementGroup.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..8823bb8a7956
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateBySubscription.json
new file mode 100644
index 000000000000..584c5945cd3f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportCreateOrUpdateBySubscription.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByBillingAccount.json
new file mode 100644
index 000000000000..248ac4f60cc1
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByDepartment.json
new file mode 100644
index 000000000000..ececcb2c8301
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByEnrollmentAccount.json
new file mode 100644
index 000000000000..87766604f296
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByManagementGroup.json
new file mode 100644
index 000000000000..a4ee30019281
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByResourceGroup.json
new file mode 100644
index 000000000000..5bf16f30d738
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteBySubscription.json
new file mode 100644
index 000000000000..e892c4183d87
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportDeleteBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByBillingAccount.json
new file mode 100644
index 000000000000..6293630233c3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByBillingAccount.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-Id}/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-05-01T00:00:00Z",
+ "to": "2020-05-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByDepartment.json
new file mode 100644
index 000000000000..51e007d5f6e9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByDepartment.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-06-30T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..de7472acefe9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByEnrollmentAccount.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2019-09-01T00:00:00Z",
+ "to": "2019-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByManagementGroup.json
new file mode 100644
index 000000000000..4271b4d76ed6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByManagementGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2019-09-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "UsageDate",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByResourceGroup.json
new file mode 100644
index 000000000000..ae8b7bc0a372
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-06-30T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetBySubscription.json
new file mode 100644
index 000000000000..34503c05a9e3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportGetBySubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2019-06-01T00:00:00Z",
+ "to": "2019-07-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByBillingAccount.json
new file mode 100644
index 000000000000..248ac4f60cc1
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByDepartment.json
new file mode 100644
index 000000000000..ececcb2c8301
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByEnrollmentAccount.json
new file mode 100644
index 000000000000..87766604f296
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByManagementGroup.json
new file mode 100644
index 000000000000..a4ee30019281
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByResourceGroup.json
new file mode 100644
index 000000000000..5bf16f30d738
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunBySubscription.json
new file mode 100644
index 000000000000..e892c4183d87
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByBillingAccount.json
new file mode 100644
index 000000000000..952687744b60
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByBillingAccount.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByDepartment.json
new file mode 100644
index 000000000000..e36a48322f61
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByDepartment.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..3cc2d9bdd01e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByEnrollmentAccount.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByManagementGroup.json
new file mode 100644
index 000000000000..ffbf57b5833e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByManagementGroup.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByResourceGroup.json
new file mode 100644
index 000000000000..3dbd7e6dc25a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetByResourceGroup.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetBySubscription.json
new file mode 100644
index 000000000000..605d49dbcda5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportRunHistoryGetBySubscription.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByBillingAccount.json
new file mode 100644
index 000000000000..e0ad5d461eae
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByBillingAccount.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByDepartment.json
new file mode 100644
index 000000000000..511b25f5d221
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByDepartment.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..cd360a11b94e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByEnrollmentAccount.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByManagementGroup.json
new file mode 100644
index 000000000000..e8af41508e2c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByManagementGroup.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByResourceGroup.json
new file mode 100644
index 000000000000..69b5542ee176
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetByResourceGroup.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetBySubscription.json
new file mode 100644
index 000000000000..9d63abc514c8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/ExportsGetBySubscription.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json
index dd5b6189d9d9..c2df9d3e3775 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-12-01-preview/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json
@@ -1,7 +1,7 @@
{
"parameters": {
"api-version": "2020-12-01-preview",
- "scope": "subscriptions/fae17478-31e7-40fd-b62a-1a127754a463",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
"parameters": {
"metric": "ActualCost",
"timePeriod": {
@@ -24,8 +24,8 @@
},
"202": {
"headers": {
- "Location": "https://management.azure.com/subscriptions/fae17478-31e7-40fd-b62a-1a127754a463/providers/Microsoft.CostManagement/operationResults/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2020-12-01-preview",
- "Azure-Consumption-AsyncOperation": "https://management.azure.com/subscriptions/fae17478-31e7-40fd-b62a-1a127754a463/providers/Microsoft.CostManagement/operationStatus/ad0d632f-1186-41fe-89f9-ae29e198d223?api-version=2020-12-01-preview",
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-12-01-preview",
+ "Azure-Consumption-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-12-01-preview",
"Retry-After": "60"
}
}
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 0973cb70735e..b27fb39070f9 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
@@ -1679,7 +1679,8 @@
"properties": {
"name": {
"description": "The name of the column to use in comparison.",
- "type": "string"
+ "type": "string",
+ "x-nullable": true
},
"operator": {
"description": "The operator to use for comparison.",
@@ -1729,7 +1730,7 @@
}
},
"Setting": {
- "description": "State of Setting",
+ "description": "State of the myscope setting.",
"type": "object",
"allOf": [
{
@@ -1784,9 +1785,66 @@
"description": "The properties of the setting.",
"properties": {
"scope": {
- "description": "For the myscope setting, sets the default scope the current user will see when they sign into Azure Cost Management in the Azure portal.",
+ "description": "Sets the default scope the current user will see when they sign into Azure Cost Management in the Azure portal.",
"type": "string"
+ },
+ "startOn": {
+ "description": "Indicates what scope Cost Management in the Azure portal should default to. Allowed values: LastUsed.",
+ "type": "string",
+ "enum": [
+ "LastUsed",
+ "ScopePicker",
+ "SpecificScope"
+ ],
+ "x-nullable": true
+ },
+ "cache": {
+ "$ref": "#/definitions/Cache"
}
+ },
+ "required": [
+ "scope"
+ ]
+ },
+ "Cache": {
+ "type": "array",
+ "description": "Array of scopes with additional details used by Cost Management in the Azure portal.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource ID used by Resource Manager to uniquely identify the scope.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Display name for the scope.",
+ "type": "string"
+ },
+ "channel": {
+ "description": "Indicates the account type. Allowed values include: EA, PAYG, Modern, Internal, Unknown.",
+ "type": "string"
+ },
+ "subchannel": {
+ "description": "Indicates the type of modern account. Allowed values include: Individual, Enterprise, Partner, Indirect, NotApplicable",
+ "type": "string"
+ },
+ "parent": {
+ "description": "Resource ID of the parent scope. For instance, subscription's resource ID for a resource group or a management group resource ID for a subscription.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "status": {
+ "description": "Indicates the status of the scope. Status only applies to subscriptions and billing accounts.",
+ "type": "string",
+ "x-nullable": true
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "channel",
+ "subchannel"
+ ]
}
},
"ViewProperties": {
@@ -1993,23 +2051,23 @@
"id": {
"readOnly": true,
"type": "string",
- "description": "Resource Id"
+ "description": "Resource Id."
},
"name": {
"readOnly": true,
"type": "string",
- "description": "Resource name"
+ "description": "Resource name."
},
"kind": {
"readOnly": true,
"type": "string",
- "description": "Resource kind",
+ "description": "Resource kind.",
"maxLength": 10
},
"type": {
"readOnly": true,
"type": "string",
- "description": "Resource type"
+ "description": "Resource type."
}
},
"x-ms-azure-resource": true
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/Setting.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/Setting.json
index 89cb25f76c20..e1f3557b2054 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/Setting.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/Setting.json
@@ -9,9 +9,20 @@
"id": "/providers/Microsoft.CostManagement/settings/myscope",
"name": "myscope",
"kind": "user",
- "type": "Microsoft.CostManagement/settings",
+ "type": "Microsoft.CostManagement/Settings",
"properties": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000",
+ "startOn": "LastUsed",
+ "cache": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "name": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "channel": "Modern",
+ "subchannel": "NotApplicable",
+ "parent": "/providers/Microsoft.Management/managementGroups/acm",
+ "status": "enabled"
+ }
+ ]
}
}
}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SettingsCreateOrUpdate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SettingsCreateOrUpdate.json
index ad93bb023549..6b1b84cd3af7 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SettingsCreateOrUpdate.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SettingsCreateOrUpdate.json
@@ -4,7 +4,18 @@
"settingName": "myscope",
"parameters": {
"properties": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000",
+ "startOn": "LastUsed",
+ "cache": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "name": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "channel": "Modern",
+ "subchannel": "NotApplicable",
+ "parent": "/providers/Microsoft.Management/managementGroups/acm",
+ "status": "enabled"
+ }
+ ]
}
}
},
@@ -14,9 +25,20 @@
"id": "/providers/Microsoft.CostManagement/settings/myscope",
"name": "myscope",
"kind": "user",
- "type": "Microsoft.CostManagement/settings",
+ "type": "Microsoft.CostManagement/Settings",
"properties": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000",
+ "startOn": "LastUsed",
+ "cache": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "name": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "channel": "Modern",
+ "subchannel": "NotApplicable",
+ "parent": "/providers/Microsoft.Management/managementGroups/acm",
+ "status": "enabled"
+ }
+ ]
}
}
}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SettingsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SettingsList.json
index 89fc8eae7f6e..0c58a5d6944b 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SettingsList.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-11-01/examples/SettingsList.json
@@ -10,9 +10,28 @@
"id": "/providers/Microsoft.CostManagement/settings/myscope",
"name": "myscope",
"kind": "user",
- "type": "Microsoft.CostManagement/settings",
+ "type": "Microsoft.CostManagement/Settings",
"properties": {
- "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000",
+ "startOn": "LastUsed",
+ "cache": [
+ {
+ "id": "/subscriptions/ec9de2f7-b65b-408d-ac59-da71ceb340bc",
+ "name": "Azure Cost Management",
+ "channel": "Modern",
+ "subchannel": "Individual",
+ "parent": "/providers/Microsoft.Management/managementGroups/b8f458df-48b6-4215-b307-e71221f1fb79",
+ "status": "enabled"
+ },
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/b8f458df-48b6-4215-b307-e71221f1fb79",
+ "name": "Cloudyn",
+ "channel": "Modern",
+ "subchannel": "Individual",
+ "parent": "/providers/Microsoft.Management/managementGroups/acm",
+ "status": "enabled"
+ }
+ ]
}
}
]
diff --git a/specification/cost-management/resource-manager/readme.azureresourceschema.md b/specification/cost-management/resource-manager/readme.azureresourceschema.md
index a1771bc87499..0ff1c744844d 100644
--- a/specification/cost-management/resource-manager/readme.azureresourceschema.md
+++ b/specification/cost-management/resource-manager/readme.azureresourceschema.md
@@ -30,6 +30,7 @@ output-folder: $(azureresourceschema-folder)/schemas
# all the input files in this apiVersion
input-file:
+ - Microsoft.CostManagement/preview/2020-12-01-preview/costmanagement.exports.json
- Microsoft.CostManagement/preview/2020-12-01-preview/costmanagement.generatedetailedcostreport.json
```
@@ -41,8 +42,8 @@ output-folder: $(azureresourceschema-folder)/schemas
# all the input files in this apiVersion
input-file:
- - Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json
- Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+ - Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json
```
diff --git a/specification/cost-management/resource-manager/readme.go.md b/specification/cost-management/resource-manager/readme.go.md
index 4259fa52ed37..a394d9f85a9a 100644
--- a/specification/cost-management/resource-manager/readme.go.md
+++ b/specification/cost-management/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: costmanagement
clear-output-folder: true
```
@@ -17,6 +17,7 @@ batch:
- tag: package-2019-01
- tag: package-preview-2019-03
- tag: package-2019-10
+ - tag: package-2020-06
```
### Tag: package-2018-05 and go
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 751b6b3d648a..ce70fb65971f 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -38,7 +38,7 @@ These settings apply only when `--tag=package-preview-2020-12` is specified on t
```yaml $(tag) == 'package-preview-2020-12'
input-file:
- - Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json
+ - Microsoft.CostManagement/preview/2020-12-01-preview/costmanagement.exports.json
- Microsoft.CostManagement/preview/2020-12-01-preview/costmanagement.generatedetailedcostreport.json
- Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
```
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json
index 02f04c14f828..d6df4dc9c24d 100644
--- a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/cpimTenant.json
@@ -790,7 +790,7 @@
},
"location": {
"type": "string",
- "description": "The location in which the resource is hosted and data resides. Refer to [this documentation](https://aka.ms/B2CDataResidency) to see valid data residency locations. Please choose one of 'United States', 'Europe', and 'Asia Pacific'.",
+ "description": "The location in which the resource is hosted and data resides. Can be one of 'United States', 'Europe', 'Asia Pacific', or 'Australia' (preview). Refer to [this documentation](https://aka.ms/B2CDataResidency) for more information.",
"x-ms-mutability": [
"create",
"read"
@@ -830,7 +830,7 @@
"properties": {
"location": {
"type": "string",
- "description": "The location in which the resource is hosted and data resides. Refer to [this documentation](https://aka.ms/B2CDataResidency) to see valid data residency locations. Please choose one of 'United States', 'Europe', and 'Asia Pacific'."
+ "description": "The location in which the resource is hosted and data resides. Can be one of 'United States', 'Europe', 'Asia Pacific', or 'Australia' (preview). Refer to [this documentation](https://aka.ms/B2CDataResidency) for more information."
},
"properties": {
"type": "object",
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/OperationsList.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/OperationsList.json
index bbd8bc4d1a1e..7c111a950876 100644
--- a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/OperationsList.json
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/OperationsList.json
@@ -8,67 +8,31 @@
"200": {
"body": {
"value": [
- {
- "name": "Microsoft.AzureActiveDirectory/register/action",
- "display": {
- "provider": "Microsoft.AzureActiveDirectory",
- "resource": "Microsoft.AzureActiveDirectory Resource Provider",
- "operation": "Registers the Microsoft.AzureActiveDirectory Resource Provider",
- "description": "Registers the Microsoft.AzureActiveDirectory Resource Provider"
- }
- },
- {
- "name": "Microsoft.AzureActiveDirectory/guestUsages/read",
- "display": {
- "provider": "Microsoft.AzureActiveDirectory",
- "resource": "GuestUsagesResource",
- "operation": "read",
- "description": "Read call for Guest Usages Resource"
- }
- },
- {
- "name": "Microsoft.AzureActiveDirectory/guestUsages/write",
- "display": {
- "provider": "Microsoft.AzureActiveDirectory",
- "resource": "GuestUsagesResource",
- "operation": "write",
- "description": "Create or Update call for Guest Usages Resource"
- }
- },
- {
- "name": "Microsoft.AzureActiveDirectory/guestUsages/delete",
- "display": {
- "provider": "Microsoft.AzureActiveDirectory",
- "resource": "GuestUsagesResource",
- "operation": "delete",
- "description": "Delete call for Guest Usages Resource"
- }
- },
{
"name": "Microsoft.AzureActiveDirectory/b2cDirectories/read",
"display": {
"provider": "Microsoft.AzureActiveDirectory",
- "resource": "GuestUsagesResource",
+ "resource": "B2cDirectoriesResource",
"operation": "read",
- "description": "Read call for Guest Usages Resource"
+ "description": "Read call for Azure AD B2C tenant resource"
}
},
{
"name": "Microsoft.AzureActiveDirectory/b2cDirectories/write",
"display": {
"provider": "Microsoft.AzureActiveDirectory",
- "resource": "GuestUsagesResource",
+ "resource": "B2cDirectoriesResource",
"operation": "write",
- "description": "Create or Update call for Guest Usages Resource"
+ "description": "Create or Update call for Azure AD B2C tenant resource"
}
},
{
"name": "Microsoft.AzureActiveDirectory/b2cDirectories/delete",
"display": {
"provider": "Microsoft.AzureActiveDirectory",
- "resource": "GuestUsagesResource",
+ "resource": "B2cDirectoriesResource",
"operation": "delete",
- "description": "Delete call for Guest Usages Resource"
+ "description": "Delete call for Azure AD B2C tenant resource"
}
},
{
diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/OperationsList.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/OperationsList.json
index 6c14cad4c445..b8c848223600 100644
--- a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/OperationsList.json
+++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/examples/OperationsList.json
@@ -43,42 +43,6 @@
"operation": "delete",
"description": "Delete call for Guest Usages Resource"
}
- },
- {
- "name": "Microsoft.AzureActiveDirectory/b2cDirectories/read",
- "display": {
- "provider": "Microsoft.AzureActiveDirectory",
- "resource": "GuestUsagesResource",
- "operation": "read",
- "description": "Read call for Guest Usages Resource"
- }
- },
- {
- "name": "Microsoft.AzureActiveDirectory/b2cDirectories/write",
- "display": {
- "provider": "Microsoft.AzureActiveDirectory",
- "resource": "GuestUsagesResource",
- "operation": "write",
- "description": "Create or Update call for Guest Usages Resource"
- }
- },
- {
- "name": "Microsoft.AzureActiveDirectory/b2cDirectories/delete",
- "display": {
- "provider": "Microsoft.AzureActiveDirectory",
- "resource": "GuestUsagesResource",
- "operation": "delete",
- "description": "Delete call for Guest Usages Resource"
- }
- },
- {
- "name": "Microsoft.AzureActiveDirectory/checkNameAvailability",
- "display": {
- "provider": "Microsoft.AzureActiveDirectory",
- "resource": "Check Name Availability",
- "operation": "Get Check Name Availability",
- "description": "Check if resource name is available."
- }
}
]
}
diff --git a/specification/cpim/resource-manager/readme.go.md b/specification/cpim/resource-manager/readme.go.md
index 602be4bd4dc5..eb6935b213df 100644
--- a/specification/cpim/resource-manager/readme.go.md
+++ b/specification/cpim/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: azureadb2c
clear-output-folder: true
```
diff --git a/specification/cpim/resource-manager/readme.md b/specification/cpim/resource-manager/readme.md
index 1390572c54e5..19c3fefa391b 100644
--- a/specification/cpim/resource-manager/readme.md
+++ b/specification/cpim/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the azureadb2c APIs.
title: CPIMConfigurationClient
description: CPIM Configuration Client
openapi-type: arm
-tag: package-2020-05-01-preview
+tag: package-2019-01-01-preview
```
### Tag: package-2019-01-01-preview
@@ -60,7 +60,6 @@ This is not used by Autorest itself.
```yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
```
diff --git a/specification/cpim/resource-manager/readme.python.md b/specification/cpim/resource-manager/readme.python.md
index f71cd3681047..2bcf09fec915 100644
--- a/specification/cpim/resource-manager/readme.python.md
+++ b/specification/cpim/resource-manager/readme.python.md
@@ -20,6 +20,7 @@ These settings apply only when `--track2` is specified on the command line.
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-azureadb2c
+package-version: 1.0.0b2
no-namespace-folders: true
python-base-folder: azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c
```
diff --git a/specification/customer-insights/resource-manager/readme.go.md b/specification/customer-insights/resource-manager/readme.go.md
index 9b13a619e871..21d47ef7d35d 100644
--- a/specification/customer-insights/resource-manager/readme.go.md
+++ b/specification/customer-insights/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: customerinsights
clear-output-folder: true
```
diff --git a/specification/customerlockbox/resource-manager/readme.go.md b/specification/customerlockbox/resource-manager/readme.go.md
index e97fcd863608..1753a772330e 100644
--- a/specification/customerlockbox/resource-manager/readme.go.md
+++ b/specification/customerlockbox/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
diff --git a/specification/customproviders/resource-manager/readme.go.md b/specification/customproviders/resource-manager/readme.go.md
index 910d6bf0d4fd..aa40107a9abc 100644
--- a/specification/customproviders/resource-manager/readme.go.md
+++ b/specification/customproviders/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: customproviders
clear-output-folder: true
```
diff --git a/specification/customproviders/resource-manager/readme.md b/specification/customproviders/resource-manager/readme.md
index 0ef765bc5d92..f2d8bbbded8f 100644
--- a/specification/customproviders/resource-manager/readme.md
+++ b/specification/customproviders/resource-manager/readme.md
@@ -52,6 +52,7 @@ swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-trenton
@@ -90,9 +91,9 @@ See configuration in [readme.csharp.md](./readme.csharp.md)
See configuration in [readme.nodejs.md](./readme.nodejs.md)
-## Trenton
+## Terraform
-See configuration in [readme.trenton.md](./readme.trenton.md)
+See configuration in [readme.terraform.md](./readme.terraform.md)
## AzureResourceSchema
@@ -113,17 +114,3 @@ cli:
clear-output-folder: false
```
-## trenton
-
-These settings apply only when `--trenton` is specified on the command line.
-
-``` yaml $(trenton)
-trenton:
- cli_name: customproviders
- azure_arm: true
- license_header: MICROSOFT_MIT_NO_VERSION
- payload_flattening_threshold: 2
- namespace: azure.mgmt.customproviders
- package_name: azure-mgmt-customproviders
- clear_output_folder: false
-```
diff --git a/specification/customproviders/resource-manager/readme.terraform.md b/specification/customproviders/resource-manager/readme.terraform.md
new file mode 100644
index 000000000000..b0fb3b50f5bc
--- /dev/null
+++ b/specification/customproviders/resource-manager/readme.terraform.md
@@ -0,0 +1,19 @@
+## Terraform
+
+These settings apply only when `--terraform` is specified on the command line.
+
+``` yaml $(terraform)
+terraform:
+ cli-name: customproviders
+ azure_arm: true
+ license_header: MICROSOFT_MIT_NO_VERSION
+ payload_flattening_threshold: 2
+ namespace: azure.mgmt.customproviders
+ package_name: azure-mgmt-customproviders
+ clear-output-folder: true
+overrides:
+ - where:
+ property: resourceProviderName
+ set:
+ - IdPortion: "resourceproviders"
+```
diff --git a/specification/customproviders/resource-manager/readme.trenton.md b/specification/customproviders/resource-manager/readme.trenton.md
deleted file mode 100644
index 9e3698eb29ab..000000000000
--- a/specification/customproviders/resource-manager/readme.trenton.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## Trenton
-
-These settings apply only when `--trenton` is specified on the command line.
-
-``` yaml $(trenton)
-trenton:
- cli_name: customproviders
- azure_arm: true
- license_header: MICROSOFT_MIT_NO_VERSION
- payload_flattening_threshold: 2
- namespace: azure.mgmt.customproviders
- package_name: azure-mgmt-customproviders
- clear_output_folder: false
-overrides:
- - where:
- property: resourceProviderName
- set:
- - IdPortion: "resourceproviders"
-```
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/databox.json
new file mode 100644
index 000000000000..1c199656f160
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/databox.json
@@ -0,0 +1,5004 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-01",
+ "title": "DataBoxManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.DataBox/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "This method gets all the operations.",
+ "operationId": "Operations_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The supported operations list.",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the subscription.",
+ "operationId": "Jobs_List",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs available under the subscription.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsList": {
+ "$ref": "./examples/JobsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/mitigate": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Request to mitigate for a given job",
+ "operationId": "Mitigate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "mitigateJobRequest",
+ "in": "body",
+ "description": "Mitigation Request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MitigateJobRequest"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Mitigate": {
+ "$ref": "./examples/JobMitigate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method provides the list of available skus for the given subscription, resource group and location.",
+ "operationId": "Service_ListAvailableSkusByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "availableSkuRequest",
+ "in": "body",
+ "description": "Filters for showing the available skus.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailableSkuRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of available skus under Resource group.",
+ "schema": {
+ "$ref": "#/definitions/AvailableSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AvailableSkusPost": {
+ "$ref": "./examples/AvailableSkusPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "[DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer shipping address and provide alternate addresses if any.",
+ "operationId": "Service_ValidateAddress",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validateAddress",
+ "in": "body",
+ "description": "Shipping address of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateAddress"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The valid and alternate addresses.",
+ "schema": {
+ "$ref": "#/definitions/AddressValidationOutput"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "deprecated": true,
+ "x-ms-examples": {
+ "ValidateAddressPost": {
+ "$ref": "./examples/ValidateAddressPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under resource group.",
+ "operationId": "Service_ValidateInputsByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ValidateInputsByResourceGroup": {
+ "$ref": "./examples/ValidateInputsByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This method does all necessary pre-job creation validation under subscription.",
+ "operationId": "Service_ValidateInputs",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "validationRequest",
+ "in": "body",
+ "description": "Inputs of the customer.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The validation status and responses of each validating parameter.",
+ "schema": {
+ "$ref": "#/definitions/ValidationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ValidateInputs": {
+ "$ref": "./examples/ValidateInputs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Lists all the jobs available under the given resource group.",
+ "operationId": "Jobs_ListByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of jobs by resource group.",
+ "schema": {
+ "$ref": "#/definitions/JobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "JobsListByResourceGroup": {
+ "$ref": "./examples/JobsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Gets information about the specified job.",
+ "operationId": "Jobs_Get",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on details parameter for job, which provides details on the job stages.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ },
+ "JobsGetCmk": {
+ "$ref": "./examples/JobsGetCmk.json"
+ },
+ "JobsGetExport": {
+ "$ref": "./examples/JobsGetExport.json"
+ },
+ "JobsGetCopyStuck": {
+ "$ref": "./examples/JobsGetCopyStuck.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API.",
+ "operationId": "Jobs_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "jobResource",
+ "in": "body",
+ "description": "Job details from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for create Job."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsCreate": {
+ "$ref": "./examples/JobsCreate.json"
+ },
+ "JobsCreateDevicePassword": {
+ "$ref": "./examples/JobsCreateDevicePassword.json"
+ },
+ "JobsCreateExport": {
+ "$ref": "./examples/JobsCreateExport.json"
+ },
+ "JobsCreateDoubleEncryption": {
+ "$ref": "./examples/JobsCreateDoubleEncryption.json"
+ },
+ "JobsCreateWithUserAssignedIdentity": {
+ "$ref": "./examples/JobsCreateWithUserAssignedIdentity.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Deletes a job.",
+ "operationId": "Jobs_Delete",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Just for swagger we are adding this status code."
+ },
+ "202": {
+ "description": "Accepted request for delete Job."
+ },
+ "204": {
+ "description": "Job deleted."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsDelete": {
+ "$ref": "./examples/JobsDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Updates the properties of an existing job.",
+ "operationId": "Jobs_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value.",
+ "type": "string"
+ },
+ {
+ "name": "jobResourceUpdateParameter",
+ "in": "body",
+ "description": "Job update parameters from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/JobResourceUpdateParameter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Job object.",
+ "schema": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for job updated."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "JobsPatch": {
+ "$ref": "./examples/JobsPatch.json"
+ },
+ "JobsPatchCmk": {
+ "$ref": "./examples/JobsPatchCmk.json"
+ },
+ "JobsPatchSystemAssignedToUserAssigned": {
+ "$ref": "./examples/JobsPatchSystemAssignedToUserAssigned.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "Book shipment pick up.",
+ "operationId": "Jobs_BookShipmentPickUp",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "shipmentPickUpRequest",
+ "in": "body",
+ "description": "Details of shipment pick up request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShipmentPickUpRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Booked shipment pick up successfully.",
+ "schema": {
+ "$ref": "#/definitions/ShipmentPickUpResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BookShipmentPickupPost": {
+ "$ref": "./examples/BookShipmentPickupPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "CancelJob.",
+ "operationId": "Jobs_Cancel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "cancellationReason",
+ "in": "body",
+ "description": "Reason for cancellation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CancellationReason"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Job cancelled."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsCancelPost": {
+ "$ref": "./examples/JobsCancelPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials": {
+ "post": {
+ "tags": [
+ "Jobs"
+ ],
+ "description": "This method gets the unencrypted secrets related to the job.",
+ "operationId": "Jobs_ListCredentials",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/jobNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of unencrypted credentials of the job.",
+ "schema": {
+ "$ref": "#/definitions/UnencryptedCredentialsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "JobsListCredentials": {
+ "$ref": "./examples/JobsListCredentials.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This API provides configuration details specific to given region/location at Subscription level.",
+ "operationId": "Service_RegionConfiguration",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "regionConfigurationRequest",
+ "in": "body",
+ "description": "Request body to get the configuration for the region.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Region configuration response.",
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegionConfiguration": {
+ "$ref": "./examples/RegionConfiguration.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": {
+ "post": {
+ "tags": [
+ "Service"
+ ],
+ "description": "This API provides configuration details specific to given region/location at Resource group level.",
+ "operationId": "Service_RegionConfigurationByResourceGroup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "regionConfigurationRequest",
+ "in": "body",
+ "description": "Request body to get the configuration for the region at resource group level.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Region configuration response.",
+ "schema": {
+ "$ref": "#/definitions/RegionConfigurationResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ApiError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegionConfigurationByResourceGroup": {
+ "$ref": "./examples/RegionConfigurationByResourceGroup.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AccountCredentialDetails": {
+ "description": "Credential details of the account.",
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "Name of the account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataAccountType": {
+ "description": "Type of the account.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "accountConnectionString": {
+ "description": "Connection string of the account endpoint to use the account as a storage endpoint on the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareCredentialDetails": {
+ "description": "Per share level unencrypted access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AdditionalErrorInfo": {
+ "type": "object",
+ "description": "Additional error info.",
+ "properties": {
+ "type": {
+ "description": "Additional error type.",
+ "type": "string"
+ },
+ "info": {
+ "description": "Additional error info.",
+ "type": "object"
+ }
+ }
+ },
+ "AddressValidationOutput": {
+ "description": "Output of the address validation api.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddressValidationProperties",
+ "description": "The address validation properties.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AddressValidationProperties": {
+ "description": "The address validation output.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "validationStatus": {
+ "description": "The address validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Ambiguous"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddressValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Address provided is valid."
+ },
+ {
+ "value": "Invalid",
+ "description": "Address provided is invalid or not supported."
+ },
+ {
+ "value": "Ambiguous",
+ "description": "Address provided is ambiguous, please choose one of the alternate addresses returned."
+ }
+ ]
+ }
+ },
+ "alternateAddresses": {
+ "description": "List of alternate addresses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShippingAddress"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "ValidateAddress"
+ },
+ "ApiError": {
+ "required": [
+ "error"
+ ],
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "ApplianceNetworkConfiguration": {
+ "description": "The Network Adapter configuration of a DataBox.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the network.",
+ "type": "string",
+ "readOnly": true
+ },
+ "macAddress": {
+ "description": "Mac Address.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ArmBaseObject": {
+ "description": "Base class for all objects under resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AvailableSkuRequest": {
+ "description": "The filters for showing the available skus.",
+ "required": [
+ "transferType",
+ "country",
+ "location"
+ ],
+ "type": "object",
+ "properties": {
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "country": {
+ "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ },
+ "skuNames": {
+ "description": "Sku Names to filter for available skus",
+ "type": "array",
+ "items": {
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "AvailableSkusResult": {
+ "description": "The available skus operation response.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of available skus.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuInformation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of skus.",
+ "type": "string"
+ }
+ }
+ },
+ "AzureFileFilterDetails": {
+ "description": "Filter details to transfer Azure files",
+ "type": "object",
+ "properties": {
+ "filePrefixList": {
+ "description": "Prefix list of the Azure files to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "filePathList": {
+ "description": "List of full path of the files to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "fileShareList": {
+ "description": "List of file shares to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BlobFilterDetails": {
+ "description": "Filter details to transfer Azure Blobs",
+ "type": "object",
+ "properties": {
+ "blobPrefixList": {
+ "description": "Prefix list of the Azure blobs to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "blobPathList": {
+ "description": "List of full path of the blobs to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "containerList": {
+ "description": "List of blob containers to be transferred.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CancellationReason": {
+ "description": "Reason for cancellation.",
+ "required": [
+ "reason"
+ ],
+ "type": "object",
+ "properties": {
+ "reason": {
+ "description": "Reason for cancellation.",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "description": "Cloud error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Cloud error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Cloud error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Cloud error target.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Cloud error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudError"
+ },
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "description": "Cloud error additional info.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalErrorInfo"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-external": true
+ },
+ "ContactDetails": {
+ "description": "Contact Details.",
+ "required": [
+ "contactName",
+ "phone",
+ "emailList"
+ ],
+ "type": "object",
+ "properties": {
+ "contactName": {
+ "description": "Contact name of the person.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "Phone number of the contact person.",
+ "type": "string"
+ },
+ "phoneExtension": {
+ "description": "Phone extension number of the contact person.",
+ "type": "string"
+ },
+ "mobile": {
+ "description": "Mobile number of the contact person.",
+ "type": "string"
+ },
+ "emailList": {
+ "description": "List of Email-ids to be notified about job progress.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "notificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotificationPreference"
+ }
+ }
+ }
+ },
+ "CopyLogDetails": {
+ "description": "Details for log generated during copy.",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "properties": {
+ "copyLogDetailsType": {
+ "description": "Indicates the type of job details.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy orders."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "copyLogDetailsType"
+ },
+ "CopyProgress": {
+ "description": "Copy progress.",
+ "type": "object",
+ "properties": {
+ "storageAccountName": {
+ "description": "Name of the storage account. This will be empty for data account types other than storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "transferType": {
+ "description": "Transfer type of data",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "dataAccountType": {
+ "description": "Data Account Type.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ }
+ },
+ "accountId": {
+ "description": "Id of the account where the data needs to be uploaded.",
+ "type": "string",
+ "readOnly": true
+ },
+ "bytesProcessed": {
+ "format": "int64",
+ "description": "To indicate bytes transferred.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalBytesToProcess": {
+ "format": "int64",
+ "description": "Total amount of data to be processed by the job.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "filesProcessed": {
+ "format": "int64",
+ "description": "Number of files processed",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalFilesToProcess": {
+ "format": "int64",
+ "description": "Total files to process",
+ "type": "integer",
+ "readOnly": true
+ },
+ "invalidFilesProcessed": {
+ "format": "int64",
+ "description": "Number of files not adhering to azure naming conventions which were processed by automatic renaming",
+ "type": "integer",
+ "readOnly": true
+ },
+ "invalidFileBytesUploaded": {
+ "format": "int64",
+ "description": "Total amount of data not adhering to azure naming conventions which were processed by automatic renaming",
+ "type": "integer",
+ "readOnly": true
+ },
+ "renamedContainerCount": {
+ "format": "int64",
+ "description": "Number of folders not adhering to azure naming conventions which were processed by automatic renaming",
+ "type": "integer",
+ "readOnly": true
+ },
+ "filesErroredOut": {
+ "format": "int64",
+ "description": "Number of files which could not be copied",
+ "type": "integer",
+ "readOnly": true
+ },
+ "directoriesErroredOut": {
+ "format": "int64",
+ "description": "To indicate directories errored out in the job.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "invalidDirectoriesProcessed": {
+ "format": "int64",
+ "description": "To indicate directories renamed",
+ "type": "integer",
+ "readOnly": true
+ },
+ "isEnumerationInProgress": {
+ "description": "To indicate if enumeration of data is in progress. \r\nUntil this is true, the TotalBytesToProcess may not be valid.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "CreateJobValidations": {
+ "description": "It does all pre-job creation validations.",
+ "required": [
+ "validationCategory",
+ "individualRequestDetails"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "JobCreationValidation"
+ },
+ "CreateOrderLimitForSubscriptionValidationRequest": {
+ "description": "Request to validate create order limit for current subscription.",
+ "required": [
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateCreateOrderLimit"
+ },
+ "CreateOrderLimitForSubscriptionValidationResponseProperties": {
+ "description": "Properties of create order limit for subscription validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Create order limit validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateCreateOrderLimit"
+ },
+ "DataAccountDetails": {
+ "description": "Account details of the data to be transferred",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Account Type of the data to be transferred.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ },
+ "default": "StorageAccount"
+ },
+ "sharePassword": {
+ "description": "Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ },
+ "discriminator": "dataAccountType"
+ },
+ "DataBoxAccountCopyLogDetails": {
+ "description": "Copy log details for a storage account of a DataBox job",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "accountName": {
+ "description": "Account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyLogLink": {
+ "description": "Link for copy logs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyVerboseLogLink": {
+ "description": "Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxDiskCopyLogDetails": {
+ "description": "Copy Log Details for a disk",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "diskSerialNumber": {
+ "description": "Disk Serial Number.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorLogLink": {
+ "description": "Link for copy error logs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "verboseLogLink": {
+ "description": "Link for copy verbose logs.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskCopyProgress": {
+ "description": "DataBox Disk Copy Progress",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "The serial number of the disk",
+ "type": "string",
+ "readOnly": true
+ },
+ "bytesCopied": {
+ "format": "int64",
+ "description": "Bytes copied during the copy of disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Indicates the percentage completed for the copy of the disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The Status of the copy",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed",
+ "CompletedWithErrors",
+ "Failed",
+ "NotReturned",
+ "HardwareError",
+ "DeviceFormatted",
+ "DeviceMetadataModified",
+ "StorageAccountNotAccessible",
+ "UnsupportedData"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CopyStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "Data copy hasn't started yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Data copy is in progress."
+ },
+ {
+ "value": "Completed",
+ "description": "Data copy completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Data copy completed with errors."
+ },
+ {
+ "value": "Failed",
+ "description": "Data copy failed. No data was copied."
+ },
+ {
+ "value": "NotReturned",
+ "description": "No copy triggered as device was not returned."
+ },
+ {
+ "value": "HardwareError",
+ "description": "The Device has hit hardware issues."
+ },
+ {
+ "value": "DeviceFormatted",
+ "description": "Data copy failed. The Device was formatted by user."
+ },
+ {
+ "value": "DeviceMetadataModified",
+ "description": "Data copy failed. Device metadata was modified by user."
+ },
+ {
+ "value": "StorageAccountNotAccessible",
+ "description": "Data copy failed. Storage Account was not accessible during copy."
+ },
+ {
+ "value": "UnsupportedData",
+ "description": "Data copy failed. The Device data content is not supported."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "DataBoxDiskJobDetails": {
+ "description": "DataBox Disk Job Details.",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "preferredDisks": {
+ "description": "User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "copyProgress": {
+ "description": "Copy progress per disk.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxDiskCopyProgress"
+ },
+ "readOnly": true
+ },
+ "disksAndSizeDetails": {
+ "description": "Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "readOnly": true
+ },
+ "passkey": {
+ "description": "User entered passkey for DataBox Disk job.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskJobSecrets": {
+ "description": "The secrets related to disk job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "diskSecrets": {
+ "description": "Contains the list of secrets object for that device.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskSecret"
+ },
+ "readOnly": true
+ },
+ "passKey": {
+ "description": "PassKey for the disk Job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isPasskeyUserDefined": {
+ "description": "Whether passkey was provided by user.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxHeavyAccountCopyLogDetails": {
+ "description": "Copy log details for a storage account for Databox heavy",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "accountName": {
+ "description": "Account name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "copyLogLink": {
+ "description": "Link for copy logs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "copyVerboseLogLink": {
+ "description": "Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavyJobDetails": {
+ "description": "Databox Heavy Device Job Details",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "copyProgress": {
+ "description": "Copy progress per account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyProgress"
+ },
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavyJobSecrets": {
+ "description": "The secrets related to a databox heavy job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "cabinetPodSecrets": {
+ "description": "Contains the list of secret objects for a databox heavy job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxHeavySecret"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "DataBoxHeavySecret": {
+ "description": "The secrets related to a databox heavy.",
+ "type": "object",
+ "properties": {
+ "deviceSerialNumber": {
+ "description": "Serial number of the assigned device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Password for out of the box experience on device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkConfigurations": {
+ "description": "Network configuration of the appliance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplianceNetworkConfiguration"
+ },
+ "readOnly": true
+ },
+ "encodedValidationCertPubKey": {
+ "description": "The base 64 encoded public key to authenticate with the device",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountCredentialDetails": {
+ "description": "Per account level access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccountCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxJobDetails": {
+ "description": "Databox Job Details",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "copyProgress": {
+ "description": "Copy progress per storage account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyProgress"
+ },
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataboxJobSecrets": {
+ "description": "The secrets related to a databox job.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobSecrets"
+ }
+ ],
+ "properties": {
+ "podSecrets": {
+ "description": "Contains the list of secret objects for a job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxSecret"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling data box orders orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "DataBox"
+ },
+ "DataBoxSecret": {
+ "description": "The secrets related to a DataBox.",
+ "type": "object",
+ "properties": {
+ "deviceSerialNumber": {
+ "description": "Serial number of the assigned device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "devicePassword": {
+ "description": "Password for out of the box experience on device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkConfigurations": {
+ "description": "Network configuration of the appliance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplianceNetworkConfiguration"
+ },
+ "readOnly": true
+ },
+ "encodedValidationCertPubKey": {
+ "description": "The base 64 encoded public key to authenticate with the device",
+ "type": "string",
+ "readOnly": true
+ },
+ "accountCredentialDetails": {
+ "description": "Per account level access credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccountCredentialDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataExportDetails": {
+ "description": "Details of the data to be used for exporting data from azure.",
+ "required": [
+ "transferConfiguration",
+ "accountDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "transferConfiguration": {
+ "$ref": "#/definitions/TransferConfiguration",
+ "description": "Configuration for the data transfer."
+ },
+ "logCollectionLevel": {
+ "description": "Level of the logs to be collected.",
+ "enum": [
+ "Error",
+ "Verbose"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LogCollectionLevel",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Error",
+ "description": "Only Errors will be collected in the logs."
+ },
+ {
+ "value": "Verbose",
+ "description": "Verbose logging (includes Errors, CRC, size information and others)."
+ }
+ ]
+ },
+ "default": "Error"
+ },
+ "accountDetails": {
+ "$ref": "#/definitions/DataAccountDetails",
+ "description": "Account details of the data to be transferred"
+ }
+ }
+ },
+ "DataImportDetails": {
+ "description": "Details of the data to be used for importing data to azure.",
+ "required": [
+ "accountDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "accountDetails": {
+ "$ref": "#/definitions/DataAccountDetails",
+ "description": "Account details of the data to be transferred"
+ }
+ }
+ },
+ "DataLocationToServiceLocationMap": {
+ "description": "Map of data location to service location",
+ "type": "object",
+ "properties": {
+ "dataLocation": {
+ "description": "Location of the data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceLocation": {
+ "description": "Location of the service.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataTransferDetailsValidationRequest": {
+ "description": "Request to validate export and import data details.",
+ "required": [
+ "deviceType",
+ "transferType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "dataExportDetails": {
+ "description": "List of DataTransfer details to be used to export data from azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataExportDetails"
+ }
+ },
+ "dataImportDetails": {
+ "description": "List of DataTransfer details to be used to import data to azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataImportDetails"
+ }
+ },
+ "deviceType": {
+ "description": "Device type.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateDataTransferDetails"
+ },
+ "DataTransferDetailsValidationResponseProperties": {
+ "description": "Properties of data transfer details validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Data transfer details validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateDataTransferDetails"
+ },
+ "DcAccessSecurityCode": {
+ "description": "Dc access security code",
+ "type": "object",
+ "properties": {
+ "reverseDCAccessCode": {
+ "description": "Reverse Dc access security code.",
+ "type": "string"
+ },
+ "forwardDCAccessCode": {
+ "description": "Forward Dc access security code.",
+ "type": "string"
+ }
+ }
+ },
+ "Details": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "DiskScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling disk orders.",
+ "required": [
+ "storageLocation",
+ "skuName",
+ "expectedDataSizeInTeraBytes"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {
+ "expectedDataSizeInTeraBytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DiskSecret": {
+ "description": "Contains all the secrets of a Disk.",
+ "type": "object",
+ "properties": {
+ "diskSerialNumber": {
+ "description": "Serial number of the assigned disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "bitLockerKey": {
+ "description": "Bit Locker key of the disk which can be used to unlock the disk to copy data.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EncryptionPreferences": {
+ "description": "Preferences related to the Encryption.",
+ "type": "object",
+ "properties": {
+ "doubleEncryption": {
+ "description": "Defines secondary layer of software-based encryption enablement.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DoubleEncryption",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Software-based encryption is enabled."
+ },
+ {
+ "value": "Disabled",
+ "description": "Software-based encryption is disabled."
+ }
+ ]
+ },
+ "default": "Disabled"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Details"
+ }
+ },
+ "target": {
+ "type": "string"
+ }
+ }
+ },
+ "FilterFileDetails": {
+ "description": "Details of the filter files to be used for data transfer.",
+ "required": [
+ "filterFileType",
+ "filterFilePath"
+ ],
+ "type": "object",
+ "properties": {
+ "filterFileType": {
+ "description": "Type of the filter file.",
+ "enum": [
+ "AzureBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FilterFileType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "AzureBlob",
+ "description": "Filter file is of the type AzureBlob."
+ },
+ {
+ "value": "AzureFile",
+ "description": "Filter file is of the type AzureFiles."
+ }
+ ]
+ }
+ },
+ "filterFilePath": {
+ "description": "Path of the file that contains the details of all items to transfer.",
+ "type": "string"
+ }
+ }
+ },
+ "HeavyScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling heavy orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "DataBoxHeavy"
+ },
+ "IdentityProperties": {
+ "description": "Managed identity properties.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Managed service identity type.",
+ "type": "string"
+ },
+ "userAssigned": {
+ "$ref": "#/definitions/UserAssignedProperties",
+ "description": "User assigned identity properties."
+ }
+ }
+ },
+ "JobDeliveryInfo": {
+ "description": "Additional delivery info.",
+ "type": "object",
+ "properties": {
+ "scheduledDateTime": {
+ "format": "date-time",
+ "description": "Scheduled date time.",
+ "type": "string"
+ }
+ }
+ },
+ "JobDetails": {
+ "description": "Job details.",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "properties": {
+ "jobStages": {
+ "description": "List of stages that run in the job.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobStages"
+ },
+ "readOnly": true
+ },
+ "contactDetails": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "Contact details for notification and shipping."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "deliveryPackage": {
+ "$ref": "#/definitions/PackageShippingDetails",
+ "description": "Delivery package shipping details.",
+ "readOnly": true
+ },
+ "returnPackage": {
+ "$ref": "#/definitions/PackageShippingDetails",
+ "description": "Return package shipping details.",
+ "readOnly": true
+ },
+ "dataImportDetails": {
+ "description": "Details of the data to be imported into azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataImportDetails"
+ }
+ },
+ "dataExportDetails": {
+ "description": "Details of the data to be exported from azure.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataExportDetails"
+ }
+ },
+ "jobDetailsType": {
+ "description": "Indicates the type of job details.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy orders."
+ }
+ ]
+ }
+ },
+ "preferences": {
+ "$ref": "#/definitions/Preferences",
+ "description": "Preferences for the order."
+ },
+ "copyLogDetails": {
+ "description": "List of copy log details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CopyLogDetails"
+ },
+ "readOnly": true
+ },
+ "reverseShipmentLabelSasKey": {
+ "description": "Shared access key to download the return shipment label",
+ "type": "string",
+ "readOnly": true
+ },
+ "chainOfCustodySasKey": {
+ "description": "Shared access key to download the chain of custody logs",
+ "type": "string",
+ "readOnly": true
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyEncryptionKey",
+ "description": "Details about which key encryption type is being used."
+ },
+ "expectedDataSizeInTeraBytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ },
+ "actions": {
+ "description": "Available actions on the job.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "None",
+ "MoveToCleanUpDevice",
+ "Resume"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomerResolutionCode",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No Resolution Yet"
+ },
+ {
+ "value": "MoveToCleanUpDevice",
+ "description": "Clean the device"
+ },
+ {
+ "value": "Resume",
+ "description": "Resume the job to same stage"
+ }
+ ]
+ }
+ },
+ "readOnly": true
+ },
+ "lastMitigationActionOnJob": {
+ "$ref": "#/definitions/LastMitigationActionOnJob",
+ "description": "Last mitigation action performed on the job.",
+ "readOnly": true
+ }
+ },
+ "discriminator": "jobDetailsType"
+ },
+ "JobProperties": {
+ "description": "Job Properties",
+ "required": [
+ "transferType"
+ ],
+ "type": "object",
+ "properties": {
+ "transferType": {
+ "description": "Type of the data transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "isCancellable": {
+ "description": "Describes whether the job is cancellable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isDeletable": {
+ "description": "Describes whether the job is deletable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isShippingAddressEditable": {
+ "description": "Describes whether the shipping address is editable or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "isPrepareToShipEnabled": {
+ "description": "Is Prepare To Ship Enabled on this job",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Name of the stage which is in progress.",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Failed_IssueReportedAtCustomer",
+ "Failed_IssueDetectedAtAzureDC",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at Azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Time at which the job was started in UTC ISO 8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Top level error for the job.",
+ "readOnly": true
+ },
+ "details": {
+ "$ref": "#/definitions/JobDetails",
+ "description": "Details of a job run. This field will only be sent for expand details filter."
+ },
+ "cancellationReason": {
+ "description": "Reason for cancellation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deliveryType": {
+ "description": "Delivery type of Job.",
+ "enum": [
+ "NonScheduled",
+ "Scheduled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobDeliveryType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "NonScheduled",
+ "description": "Non Scheduled job."
+ },
+ {
+ "value": "Scheduled",
+ "description": "Scheduled job."
+ }
+ ]
+ },
+ "default": "NonScheduled"
+ },
+ "deliveryInfo": {
+ "$ref": "#/definitions/JobDeliveryInfo",
+ "description": "Delivery Info of Job."
+ },
+ "isCancellableWithoutFee": {
+ "description": "Flag to indicate cancellation of scheduled job.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Job Resource.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "Properties of a job.",
+ "x-ms-client-flatten": true
+ },
+ "name": {
+ "description": "Name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "$ref": "#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "Job Resource Collection",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of job resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of job resources.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResourceUpdateParameter": {
+ "description": "The JobResourceUpdateParameter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateJobProperties",
+ "description": "Properties of a job to be updated.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ }
+ }
+ },
+ "JobSecrets": {
+ "description": "The base class for the secrets",
+ "required": [
+ "jobSecretsType"
+ ],
+ "type": "object",
+ "properties": {
+ "jobSecretsType": {
+ "description": "Used to indicate what type of job secrets object.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy orders."
+ }
+ ]
+ }
+ },
+ "dcAccessSecurityCode": {
+ "$ref": "#/definitions/DcAccessSecurityCode",
+ "description": "Dc Access Security Code for Customer Managed Shipping",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Error while fetching the secrets.",
+ "readOnly": true
+ }
+ },
+ "discriminator": "jobSecretsType"
+ },
+ "JobStages": {
+ "description": "Job stages.",
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the job stage.",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Failed_IssueReportedAtCustomer",
+ "Failed_IssueDetectedAtAzureDC",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at Azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "Display name of the job stage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "stageStatus": {
+ "description": "Status of the job stage.",
+ "enum": [
+ "None",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling",
+ "SucceededWithErrors",
+ "WaitingForCustomerAction",
+ "SucceededWithWarnings"
+ ],
+ "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."
+ }
+ ]
+ },
+ "default": "MicrosoftManaged"
+ },
+ "identityProperties": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "Managed identity properties used for key encryption."
+ },
+ "kekUrl": {
+ "description": "Key encryption key. It is required in case of Customer managed KekType.",
+ "type": "string"
+ },
+ "kekVaultResourceID": {
+ "description": "Kek vault resource id. It is required in case of Customer managed KekType.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedDiskDetails": {
+ "description": "Details of the managed disks.",
+ "required": [
+ "resourceGroupId",
+ "stagingStorageAccountId",
+ "dataAccountType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataAccountDetails"
+ }
+ ],
+ "properties": {
+ "resourceGroupId": {
+ "description": "Resource Group Id of the compute disks.",
+ "type": "string"
+ },
+ "stagingStorageAccountId": {
+ "description": "Resource Id of the storage account that can be used to copy the vhd for staging.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ManagedDisk"
+ },
+ "LastMitigationActionOnJob": {
+ "description": "Last Mitigation Action Performed On Job",
+ "type": "object",
+ "properties": {
+ "actionDateTimeInUtc": {
+ "format": "date-time",
+ "description": "Action performed date time",
+ "type": "string"
+ },
+ "isPerformedByCustomer": {
+ "description": "Action performed by customer,\r\npossibility is that mitigation might happen by customer or service or by ops",
+ "type": "boolean"
+ },
+ "customerResolution": {
+ "description": "Resolution code provided by customer",
+ "enum": [
+ "None",
+ "MoveToCleanUpDevice",
+ "Resume"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomerResolutionCode",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No Resolution Yet"
+ },
+ {
+ "value": "MoveToCleanUpDevice",
+ "description": "Clean the device"
+ },
+ {
+ "value": "Resume",
+ "description": "Resume the job to same stage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "MitigateJobRequest": {
+ "description": "The Mitigate Job captured from request body for Mitigate API",
+ "required": [
+ "customerResolutionCode"
+ ],
+ "type": "object",
+ "properties": {
+ "customerResolutionCode": {
+ "description": "Resolution code for the job",
+ "enum": [
+ "None",
+ "MoveToCleanUpDevice",
+ "Resume"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CustomerResolutionCode",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No Resolution Yet"
+ },
+ {
+ "value": "MoveToCleanUpDevice",
+ "description": "Clean the device"
+ },
+ {
+ "value": "Resume",
+ "description": "Resume the job to same stage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "NotificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "required": [
+ "stageName",
+ "sendNotification"
+ ],
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the stage.",
+ "enum": [
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NotificationStageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DevicePrepared",
+ "description": "Notification at device prepared stage."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Notification at device dispatched stage."
+ },
+ {
+ "value": "Delivered",
+ "description": "Notification at device delivered stage."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Notification at device picked up from user stage."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Notification at device received at Azure datacenter stage."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Notification at data copy started stage."
+ }
+ ]
+ }
+ },
+ "sendNotification": {
+ "description": "Notification is required or not.",
+ "type": "boolean",
+ "default": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation entity.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Operation display values.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ },
+ "origin": {
+ "description": "Origin of the operation. Can be : user|system|user,system",
+ "type": "string",
+ "readOnly": true
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource name.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Localized name of the operation for display purpose.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Localized description of the operation for display purpose.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationList": {
+ "description": "Operation Collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {}
+ },
+ "PackageShippingDetails": {
+ "description": "Shipping details.",
+ "type": "object",
+ "properties": {
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "Tracking Id of shipment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "Url where shipment can be tracked.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Preferences": {
+ "description": "Preferences related to the order",
+ "type": "object",
+ "properties": {
+ "preferredDataCenterRegion": {
+ "description": "Preferred data center region.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transportPreferences": {
+ "$ref": "#/definitions/TransportPreferences",
+ "description": "Preferences related to the shipment logistics of the sku."
+ },
+ "encryptionPreferences": {
+ "$ref": "#/definitions/EncryptionPreferences",
+ "description": "Preferences related to the Encryption."
+ }
+ }
+ },
+ "PreferencesValidationRequest": {
+ "description": "Request to validate preference of transport and data center.",
+ "required": [
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "preference": {
+ "description": "Preference of transport and data center.",
+ "$ref": "#/definitions/Preferences"
+ },
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidatePreferences"
+ },
+ "PreferencesValidationResponseProperties": {
+ "description": "Properties of data center and transport preference validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Validation status of requested data center and transport.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidatePreferences"
+ },
+ "RegionConfigurationRequest": {
+ "description": "Request body to get the configuration for the region.",
+ "type": "object",
+ "properties": {
+ "scheduleAvailabilityRequest": {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest",
+ "description": "Request body to get the availability for scheduling orders."
+ },
+ "transportAvailabilityRequest": {
+ "$ref": "#/definitions/TransportAvailabilityRequest",
+ "description": "Request body to get the transport availability for given sku."
+ }
+ }
+ },
+ "RegionConfigurationResponse": {
+ "description": "Configuration response specific to a region.",
+ "type": "object",
+ "properties": {
+ "scheduleAvailabilityResponse": {
+ "$ref": "#/definitions/ScheduleAvailabilityResponse",
+ "description": "Schedule availability for given sku in a region.",
+ "readOnly": true
+ },
+ "transportAvailabilityResponse": {
+ "$ref": "#/definitions/TransportAvailabilityResponse",
+ "description": "Transport options available for given sku in a region.",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "Model of the Resource.",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku type."
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceIdentity": {
+ "description": "Msi identity details of the resource",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Identity type",
+ "type": "string",
+ "default": "None"
+ },
+ "principalId": {
+ "description": "Service Principal Id backing the Msi",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Home Tenant Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "userAssignedIdentities": {
+ "description": "User Assigned Identities",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ }
+ }
+ },
+ "ScheduleAvailabilityRequest": {
+ "description": "Request body to get the availability for scheduling orders.",
+ "required": [
+ "storageLocation",
+ "skuName"
+ ],
+ "type": "object",
+ "properties": {
+ "storageLocation": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ },
+ "skuName": {
+ "description": "Sku Name for which the order is to be scheduled.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "country": {
+ "description": "Country in which storage location should be supported.",
+ "type": "string"
+ }
+ },
+ "discriminator": "skuName"
+ },
+ "ScheduleAvailabilityResponse": {
+ "description": "Schedule availability for given sku in a region.",
+ "type": "object",
+ "properties": {
+ "availableDates": {
+ "description": "List of dates available to schedule",
+ "type": "array",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ShareCredentialDetails": {
+ "description": "Credential details of the shares in account.",
+ "type": "object",
+ "properties": {
+ "shareName": {
+ "description": "Name of the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareType": {
+ "description": "Type of the share.",
+ "enum": [
+ "UnknownType",
+ "HCS",
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ShareDestinationFormatType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "UnknownType",
+ "description": "Unknown format."
+ },
+ {
+ "value": "HCS",
+ "description": "Storsimple data format."
+ },
+ {
+ "value": "BlockBlob",
+ "description": "Azure storage block blob format."
+ },
+ {
+ "value": "PageBlob",
+ "description": "Azure storage page blob format."
+ },
+ {
+ "value": "AzureFile",
+ "description": "Azure storage file format."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Compute Disk."
+ }
+ ]
+ }
+ },
+ "userName": {
+ "description": "User name for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "password": {
+ "description": "Password for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedAccessProtocols": {
+ "description": "Access protocols supported on the device.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "SMB",
+ "NFS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessProtocol",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "SMB",
+ "description": "Server Message Block protocol(SMB)."
+ },
+ {
+ "value": "NFS",
+ "description": "Network File System protocol(NFS)."
+ }
+ ]
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ShipmentPickUpRequest": {
+ "description": "Shipment pick up request details.",
+ "required": [
+ "startTime",
+ "endTime",
+ "shipmentLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "Minimum date after which the pick up should commence, this must be in local time of pick up area.",
+ "type": "string"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "Maximum date before which the pick up should commence, this must be in local time of pick up area.",
+ "type": "string"
+ },
+ "shipmentLocation": {
+ "description": "Shipment Location in the pickup place. Eg.front desk",
+ "type": "string"
+ }
+ }
+ },
+ "ShipmentPickUpResponse": {
+ "description": "Shipment pick up response.",
+ "type": "object",
+ "properties": {
+ "confirmationNumber": {
+ "description": "Confirmation number for the pick up request.",
+ "type": "string",
+ "readOnly": true
+ },
+ "readyByTime": {
+ "format": "date-time",
+ "description": "Time by which shipment should be ready for pick up, this is in local time of pick up area.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ShippingAddress": {
+ "description": "Shipping address where customer wishes to receive the device.",
+ "required": [
+ "streetAddress1",
+ "country"
+ ],
+ "type": "object",
+ "properties": {
+ "streetAddress1": {
+ "description": "Street Address line 1.",
+ "type": "string"
+ },
+ "streetAddress2": {
+ "description": "Street Address line 2.",
+ "type": "string"
+ },
+ "streetAddress3": {
+ "description": "Street Address line 3.",
+ "type": "string"
+ },
+ "city": {
+ "description": "Name of the City.",
+ "type": "string"
+ },
+ "stateOrProvince": {
+ "description": "Name of the State or Province.",
+ "type": "string"
+ },
+ "country": {
+ "description": "Name of the Country.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "Postal code.",
+ "type": "string"
+ },
+ "zipExtendedCode": {
+ "description": "Extended Zip Code.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "Name of the company.",
+ "type": "string"
+ },
+ "addressType": {
+ "description": "Type of address.",
+ "enum": [
+ "None",
+ "Residential",
+ "Commercial"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AddressType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Address type not known."
+ },
+ {
+ "value": "Residential",
+ "description": "Residential Address."
+ },
+ {
+ "value": "Commercial",
+ "description": "Commercial Address."
+ }
+ ]
+ },
+ "default": "None"
+ }
+ }
+ },
+ "Sku": {
+ "description": "The Sku.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "The display name of the sku.",
+ "type": "string"
+ },
+ "family": {
+ "description": "The sku family.",
+ "type": "string"
+ }
+ }
+ },
+ "SkuAvailabilityValidationRequest": {
+ "description": "Request to validate sku availability.",
+ "required": [
+ "deviceType",
+ "transferType",
+ "country",
+ "location",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "ExportFromAzure"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ImportToAzure",
+ "description": "Import data to azure."
+ },
+ {
+ "value": "ExportFromAzure",
+ "description": "Export data from azure."
+ }
+ ]
+ }
+ },
+ "country": {
+ "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSkuAvailability"
+ },
+ "SkuAvailabilityValidationResponseProperties": {
+ "description": "Properties of sku availability validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Sku availability validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSkuAvailability"
+ },
+ "SkuCapacity": {
+ "description": "Capacity of the sku.",
+ "type": "object",
+ "properties": {
+ "usable": {
+ "description": "Usable capacity in TB.",
+ "type": "string",
+ "readOnly": true
+ },
+ "maximum": {
+ "description": "Maximum capacity in TB.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "Describes metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Meter id of the Sku.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterType": {
+ "description": "The type of the meter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "multiplier": {
+ "format": "double",
+ "description": "Multiplier specifies the region specific value to be multiplied with 1$ guid. Eg: Our new regions will be using 1$ shipping guid with appropriate multiplier specific to region.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Information of the sku.",
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The Sku.",
+ "readOnly": true
+ },
+ "enabled": {
+ "description": "The sku is enabled or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/SkuProperties",
+ "description": "Properties of the sku.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SkuProperties": {
+ "description": "Properties of the sku.",
+ "type": "object",
+ "properties": {
+ "dataLocationToServiceLocationMap": {
+ "description": "The map of data location to service location.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataLocationToServiceLocationMap"
+ },
+ "readOnly": true
+ },
+ "capacity": {
+ "$ref": "#/definitions/SkuCapacity",
+ "description": "Capacity of the Sku.",
+ "readOnly": true
+ },
+ "costs": {
+ "description": "Cost of the Sku.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "Api versions that support this Sku.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "disabledReason": {
+ "description": "Reason why the Sku is disabled.",
+ "enum": [
+ "None",
+ "Country",
+ "Region",
+ "Feature",
+ "OfferType",
+ "NoSubscriptionInfo"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuDisabledReason",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "SKU is not disabled."
+ },
+ {
+ "value": "Country",
+ "description": "SKU is not available in the requested country."
+ },
+ {
+ "value": "Region",
+ "description": "SKU is not available to push data to the requested Azure region."
+ },
+ {
+ "value": "Feature",
+ "description": "Required features are not enabled for the SKU."
+ },
+ {
+ "value": "OfferType",
+ "description": "Subscription does not have required offer types for the SKU."
+ },
+ {
+ "value": "NoSubscriptionInfo",
+ "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification."
+ }
+ ]
+ }
+ },
+ "disabledReasonMessage": {
+ "description": "Message for why the Sku is disabled.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredFeature": {
+ "description": "Required feature to access the sku.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountDetails": {
+ "description": "Details for the storage account.",
+ "required": [
+ "storageAccountId",
+ "dataAccountType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataAccountDetails"
+ }
+ ],
+ "properties": {
+ "storageAccountId": {
+ "description": "Storage Account Resource Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "StorageAccount"
+ },
+ "SubscriptionIsAllowedToCreateJobValidationRequest": {
+ "description": "Request to validate subscription permission to create jobs.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ "SubscriptionIsAllowedToCreateJobValidationResponseProperties": {
+ "description": "Properties of subscription permission to create job validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Validation status of subscription permission to create job.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ "systemData": {
+ "description": "Provides details about resource creation and update time",
+ "type": "object",
+ "properties": {
+ "createdBy": {
+ "description": "A string identifier for the identity that created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdByType": {
+ "description": "The type of identity that created the resource: user, application, managedIdentity",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedBy": {
+ "description": "A string identifier for the identity that last modified the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedByType": {
+ "description": "The type of identity that last modified the resource: user, application, managedIdentity",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModifiedAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TransferAllDetails": {
+ "description": "Details to transfer all data.",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Type of the account of data",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ },
+ "default": "StorageAccount"
+ },
+ "transferAllBlobs": {
+ "description": "To indicate if all Azure blobs have to be transferred",
+ "type": "boolean"
+ },
+ "transferAllFiles": {
+ "description": "To indicate if all Azure Files have to be transferred",
+ "type": "boolean"
+ }
+ }
+ },
+ "TransferConfiguration": {
+ "description": "Configuration for defining the transfer of data.",
+ "required": [
+ "transferConfigurationType"
+ ],
+ "type": "object",
+ "properties": {
+ "transferConfigurationType": {
+ "description": "Type of the configuration for transfer.",
+ "enum": [
+ "TransferAll",
+ "TransferUsingFilter"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransferConfigurationType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "TransferAll",
+ "description": "Transfer all the data."
+ },
+ {
+ "value": "TransferUsingFilter",
+ "description": "Transfer using filter."
+ }
+ ]
+ }
+ },
+ "transferFilterDetails": {
+ "description": "Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.",
+ "type": "object",
+ "properties": {
+ "include": {
+ "description": "Details of the filtering the transfer of data.",
+ "$ref": "#/definitions/TransferFilterDetails"
+ }
+ }
+ },
+ "transferAllDetails": {
+ "description": "Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll",
+ "type": "object",
+ "properties": {
+ "include": {
+ "description": "Details to transfer all data.",
+ "$ref": "#/definitions/TransferAllDetails"
+ }
+ }
+ }
+ }
+ },
+ "TransferFilterDetails": {
+ "description": "Details of the filtering the transfer of data.",
+ "required": [
+ "dataAccountType"
+ ],
+ "type": "object",
+ "properties": {
+ "dataAccountType": {
+ "description": "Type of the account of data.",
+ "enum": [
+ "StorageAccount",
+ "ManagedDisk"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataAccountType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "StorageAccount",
+ "description": "Storage Accounts ."
+ },
+ {
+ "value": "ManagedDisk",
+ "description": "Azure Managed disk storage."
+ }
+ ]
+ },
+ "default": "StorageAccount"
+ },
+ "blobFilterDetails": {
+ "$ref": "#/definitions/BlobFilterDetails",
+ "description": "Filter details to transfer blobs."
+ },
+ "azureFileFilterDetails": {
+ "$ref": "#/definitions/AzureFileFilterDetails",
+ "description": "Filter details to transfer Azure files."
+ },
+ "filterFileDetails": {
+ "description": "Details of the filter files to be used for data transfer.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilterFileDetails"
+ }
+ }
+ }
+ },
+ "TransportAvailabilityDetails": {
+ "description": "Transport options availability details for given region.",
+ "type": "object",
+ "properties": {
+ "shipmentType": {
+ "description": "Transport Shipment Type supported for given region.",
+ "enum": [
+ "CustomerManaged",
+ "MicrosoftManaged"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TransportShipmentTypes",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportAvailabilityRequest": {
+ "description": "Request body to get the transport availability for given sku.",
+ "type": "object",
+ "properties": {
+ "skuName": {
+ "description": "Type of the device.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportAvailabilityResponse": {
+ "description": "Transport options available for given sku in a region.",
+ "type": "object",
+ "properties": {
+ "transportAvailabilityDetails": {
+ "description": "List of transport availability details for given region",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransportAvailabilityDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "TransportPreferences": {
+ "description": "Preferences related to the shipment logistics of the sku",
+ "required": [
+ "preferredShipmentType"
+ ],
+ "type": "object",
+ "properties": {
+ "preferredShipmentType": {
+ "description": "Indicates Shipment Logistics type that the customer preferred.",
+ "enum": [
+ "CustomerManaged",
+ "MicrosoftManaged"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TransportShipmentTypes",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "UnencryptedCredentials": {
+ "description": "Unencrypted credentials for accessing device.",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "description": "Name of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "jobSecrets": {
+ "$ref": "#/definitions/JobSecrets",
+ "description": "Secrets related to this job.",
+ "readOnly": true
+ }
+ }
+ },
+ "UnencryptedCredentialsList": {
+ "description": "List of unencrypted credentials for accessing device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of unencrypted credentials.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UnencryptedCredentials"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of unencrypted credentials.",
+ "type": "string"
+ }
+ }
+ },
+ "UpdateJobDetails": {
+ "description": "Job details for update.",
+ "type": "object",
+ "properties": {
+ "contactDetails": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "Contact details for notification and shipping."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyEncryptionKey",
+ "description": "Key encryption key for the job."
+ }
+ }
+ },
+ "UpdateJobProperties": {
+ "description": "Job Properties for update",
+ "type": "object",
+ "properties": {
+ "details": {
+ "$ref": "#/definitions/UpdateJobDetails",
+ "description": "Details of a job to be updated."
+ }
+ }
+ },
+ "UserAssignedIdentity": {
+ "description": "Class defining User assigned identity details.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserAssignedProperties": {
+ "description": "User assigned identity properties.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "Arm resource id for user assigned identity to be used to fetch MSI token.",
+ "type": "string"
+ }
+ }
+ },
+ "ValidateAddress": {
+ "description": "The requirements to validate customer address where the device needs to be shipped.",
+ "required": [
+ "shippingAddress",
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transportPreferences": {
+ "$ref": "#/definitions/TransportPreferences",
+ "description": "Preferences related to the shipment logistics of the sku."
+ }
+ },
+ "x-ms-discriminator-value": "ValidateAddress"
+ },
+ "ValidationInputRequest": {
+ "description": "Minimum fields that must be present in any type of validation request.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "properties": {
+ "validationType": {
+ "description": "Identifies the type of validation request.",
+ "enum": [
+ "ValidateAddress",
+ "ValidateSubscriptionIsAllowedToCreateJob",
+ "ValidatePreferences",
+ "ValidateCreateOrderLimit",
+ "ValidateSkuAvailability",
+ "ValidateDataTransferDetails"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationInputDiscriminator",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ValidateAddress",
+ "description": "Identify request and response of address validation."
+ },
+ {
+ "value": "ValidateSubscriptionIsAllowedToCreateJob",
+ "description": "Identify request and response for validation of subscription permission to create job."
+ },
+ {
+ "value": "ValidatePreferences",
+ "description": "Identify request and response of preference validation."
+ },
+ {
+ "value": "ValidateCreateOrderLimit",
+ "description": "Identify request and response of create order limit for subscription validation."
+ },
+ {
+ "value": "ValidateSkuAvailability",
+ "description": "Identify request and response of active job limit for sku availability."
+ },
+ {
+ "value": "ValidateDataTransferDetails",
+ "description": "Identify request and response of data transfer details validation."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "validationType"
+ },
+ "ValidationInputResponse": {
+ "description": "Minimum properties that should be present in each individual validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "properties": {
+ "validationType": {
+ "description": "Identifies the type of validation response.",
+ "enum": [
+ "ValidateAddress",
+ "ValidateSubscriptionIsAllowedToCreateJob",
+ "ValidatePreferences",
+ "ValidateCreateOrderLimit",
+ "ValidateSkuAvailability",
+ "ValidateDataTransferDetails"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationInputDiscriminator",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "ValidateAddress",
+ "description": "Identify request and response of address validation."
+ },
+ {
+ "value": "ValidateSubscriptionIsAllowedToCreateJob",
+ "description": "Identify request and response for validation of subscription permission to create job."
+ },
+ {
+ "value": "ValidatePreferences",
+ "description": "Identify request and response of preference validation."
+ },
+ {
+ "value": "ValidateCreateOrderLimit",
+ "description": "Identify request and response of create order limit for subscription validation."
+ },
+ {
+ "value": "ValidateSkuAvailability",
+ "description": "Identify request and response of active job limit for sku availability."
+ },
+ {
+ "value": "ValidateDataTransferDetails",
+ "description": "Identify request and response of data transfer details validation."
+ }
+ ]
+ }
+ },
+ "error": {
+ "$ref": "#/definitions/CloudError",
+ "description": "Error code and message of validation response.",
+ "readOnly": true
+ }
+ },
+ "discriminator": "validationType"
+ },
+ "ValidationRequest": {
+ "description": "Minimum request requirement of any validation category.",
+ "required": [
+ "validationCategory",
+ "individualRequestDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "validationCategory": {
+ "description": "Identify the nature of validation.",
+ "enum": [
+ "JobCreationValidation"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ValidationCategory",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "JobCreationValidation",
+ "description": "Identify request of pre-job creation validations."
+ }
+ ]
+ }
+ },
+ "individualRequestDetails": {
+ "description": "List of request details contain validationType and its request as key and value respectively.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ }
+ },
+ "discriminator": "validationCategory"
+ },
+ "ValidationResponse": {
+ "description": "Response of pre job creation validations.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ValidationResponseProperties",
+ "description": "Properties of pre job creation validation response.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ValidationResponseProperties": {
+ "description": "Properties of pre job creation validation response.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Overall validation status.",
+ "enum": [
+ "AllValidToProceed",
+ "InputsRevisitRequired",
+ "CertainInputValidationsSkipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "OverallValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "AllValidToProceed",
+ "description": "Every input request is valid."
+ },
+ {
+ "value": "InputsRevisitRequired",
+ "description": "Some input requests are not valid."
+ },
+ {
+ "value": "CertainInputValidationsSkipped",
+ "description": "Certain input validations skipped."
+ }
+ ]
+ }
+ },
+ "individualResponseDetails": {
+ "description": "List of response details contain validationType and its response as key and value respectively.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ValidationInputResponse"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API Version",
+ "required": true,
+ "type": "string"
+ },
+ "jobNameParameter": {
+ "name": "jobName",
+ "in": "path",
+ "description": "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only",
+ "required": true,
+ "type": "string",
+ "maxLength": 24,
+ "minLength": 3,
+ "pattern": "^[-\\w\\.]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "The location of the resource",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The Resource Group Name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Subscription Id",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/AvailableSkusPost.json
new file mode 100644
index 000000000000..b152fbd9b733
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/AvailableSkusPost.json
@@ -0,0 +1,280 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "ce815189-a9cc-4288-8166-d78f211bed5a"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "84"
+ ],
+ "availableSkuRequest": {
+ "transferType": "ImportToAzure",
+ "country": "US",
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "DataBox"
+ },
+ "enabled": true,
+ "properties": {
+ "dataLocationToServiceLocationMap": [
+ {
+ "dataLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "dataLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "80",
+ "maximum": "100"
+ },
+ "costs": [
+ {
+ "meterId": "0cf23ffc-0b64-49e6-9bdd-1db885349042",
+ "meterType": "DataBoxServiceFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "a701f058-119b-4713-a923-bed7da4b7801",
+ "meterType": "DataBoxShippingFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "049fa331-0a48-4a81-9991-a6bef3c79fed",
+ "meterType": "DataBoxExtraDayFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "c3ea978d-6a0a-4632-b094-4fffcafcb057",
+ "meterType": "DataBoxLostOrDamagedDeviceFee",
+ "multiplier": 1
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "enabled": true,
+ "properties": {
+ "dataLocationToServiceLocationMap": [
+ {
+ "dataLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "dataLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "35",
+ "maximum": "40"
+ },
+ "costs": [
+ {
+ "meterId": "d95cd8b5-b6f1-4cd9-ae86-a016d1945d6f",
+ "meterType": "DataBoxDiskServiceFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "4b8cf572-cb04-4ef3-9528-2cda4e9b544e",
+ "meterType": "DataBoxDiskShippingFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "b6ae9bbf-815d-49dd-bb2b-77c497b72ba4",
+ "meterType": "DataBoxDiskDailyUsageFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "08bc0ea1-6c82-421b-b953-2a7a65810d2e",
+ "meterType": "DataBoxDiskLostDeviceFee",
+ "multiplier": 1
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None"
+ }
+ },
+ {
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "enabled": true,
+ "properties": {
+ "dataLocationToServiceLocationMap": [
+ {
+ "dataLocation": "westus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "eastus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "northcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "southcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westcentralus",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "westus2",
+ "serviceLocation": "westus"
+ },
+ {
+ "dataLocation": "centraluseuap",
+ "serviceLocation": "centraluseuap"
+ },
+ {
+ "dataLocation": "eastus2euap",
+ "serviceLocation": "eastus2euap"
+ }
+ ],
+ "capacity": {
+ "usable": "800",
+ "maximum": "1000"
+ },
+ "costs": [
+ {
+ "meterId": "d0dccaaf-3de9-4c7a-ba97-f83551b90126",
+ "meterType": "DataBoxHeavyServiceFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "7b49d11f-d4f7-4029-a197-04998fd282f9",
+ "meterType": "DataBoxHeavyShippingFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "c2c66d53-11b4-4f11-9642-43c7c336f0b7",
+ "meterType": "DataBoxHeavyExtraDayFee",
+ "multiplier": 1
+ },
+ {
+ "meterId": "188dcd7e-fbd7-4a41-aa42-162b81b0510f",
+ "meterType": "DataBoxHeavyLostOrDamagedDeviceFee",
+ "multiplier": 1
+ }
+ ],
+ "apiVersions": [
+ "2018-01-01"
+ ],
+ "disabledReason": "None",
+ "requiredFeature": "HeavyCreateAccess"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/BookShipmentPickupPost.json
new file mode 100644
index 000000000000..bec928ad7c87
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/BookShipmentPickupPost.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "e1437186-b41d-492e-9b7a-e197c28a517a"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "118"
+ ],
+ "shipmentPickUpRequest": {
+ "startTime": "2019-09-20T18:30:00Z",
+ "endTime": "2019-09-22T18:30:00Z",
+ "shipmentLocation": "Front desk"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "confirmationNumber": "2929602E9CP",
+ "readyByTime": "2019-09-20T18:30:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobMitigate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobMitigate.json
new file mode 100644
index 000000000000..eb46de6c1f65
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobMitigate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg9836",
+ "jobName": "SdkJob8367",
+ "api-version": "2021-03-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "71d282dc-56a0-402b-a322-3b50c89711b5"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "60"
+ ],
+ "mitigateJobRequest": {
+ "customerResolutionCode": "MoveToCleanUpDevice"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCancelPost.json
new file mode 100644
index 000000000000..9203b2b65bf0
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCancelPost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "95fc15f7-4976-46bb-8370-74ed4cb676be"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "30"
+ ],
+ "cancellationReason": {
+ "reason": "CancelTest"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreate.json
new file mode 100644
index 000000000000..00263e181498
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreate.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "04f2835f-a2a2-4f25-96df-568460e5be24"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1064"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateDevicePassword.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateDevicePassword.json
new file mode 100644
index 000000000000..93da7704427d
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateDevicePassword.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7478",
+ "jobName": "SdkJob9640",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "c4c8f926-ebbe-4c07-ae1a-b716911058df"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1168"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "devicePassword": "",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2",
+ "sharePassword": ""
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob9640",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7478/providers/Microsoft.DataBox/jobs/SdkJob9640",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateDoubleEncryption.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateDoubleEncryption.json
new file mode 100644
index 000000000000..3710dbc740bf
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateDoubleEncryption.json
@@ -0,0 +1,189 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg608",
+ "jobName": "SdkJob6599",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "c9c24c55-fd51-4374-839e-60ee5f0d8832"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29220.03",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.19041.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1186"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ }
+ ],
+ "preferences": {
+ "encryptionPreferences": {
+ "doubleEncryption": "Enabled"
+ }
+ }
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob6599",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg608/providers/Microsoft.DataBox/jobs/SdkJob6599",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateExport.json
new file mode 100644
index 000000000000..4356fc39fd85
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateExport.json
@@ -0,0 +1,194 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg8091",
+ "jobName": "SdkJob6429",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "80eaafc7-e8b7-4c5a-ad81-b1ecb9573cd4"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1395"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataExportDetails": [
+ {
+ "transferConfiguration": {
+ "transferConfigurationType": "TransferAll",
+ "transferAllDetails": {
+ "include": {
+ "dataAccountType": "StorageAccount",
+ "transferAllBlobs": true,
+ "transferAllFiles": true
+ }
+ }
+ },
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob6429",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateWithUserAssignedIdentity.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateWithUserAssignedIdentity.json
new file mode 100644
index 000000000000..ccc4f82aff22
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsCreateWithUserAssignedIdentity.json
@@ -0,0 +1,190 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7552",
+ "jobName": "SdkJob5337",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "618b064d-967c-4156-a8dd-a9867cc22af9"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29220.03",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.19041.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1318"
+ ],
+ "jobResource": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "details": {
+ "jobDetailsType": "DataBox",
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2"
+ }
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2019-09-21T14:49:49.0027611+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2019-09-21T14:49:52.3995743+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": []
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob5337",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7552/providers/Microsoft.DataBox/jobs/SdkJob5337",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsDelete.json
new file mode 100644
index 000000000000..c408ddf7352f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "f5c227e2-13d8-4ce9-9ef2-f3c63f6935b9"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGet.json
new file mode 100644
index 000000000000..c8dc2863f7df
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGet.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "e76214b0-6013-499e-8f91-3a287f421f2e"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-08-07T10:50:36.3341513+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:50:40.1872217+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=urwfAELvNV69IGHdcXlRCn6o3O3dWZQKaRipmoAdrI0%3D&st=2020-08-07T05%3A10%3A58Z&se=2020-08-08T05%3A20%3A58Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "MicrosoftManaged"
+ }
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGetCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGetCmk.json
new file mode 100644
index 000000000000..73882b877d1f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGetCmk.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7937",
+ "jobName": "SdkJob1735",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "c8cf9d3e-55f1-488f-bcee-53f4939f44e8"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-08-07T10:47:42.0009935+05:30",
+ "details": {
+ "copyProgress": [],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:47:44.8736499+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "None"
+ },
+ {
+ "stageName": "Completed",
+ "displayName": "Completed",
+ "stageStatus": "None"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Public SDK Test",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=JSZSeKrFrrwWbZ4zd7PNdGdNYKExKpxa98vRDDH6ZIk%3D&st=2020-08-07T05%3A08%3A51Z&se=2020-08-08T05%3A18%3A51Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "CustomerManaged",
+ "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/",
+ "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"
+ }
+ },
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "9a68a7c4-0a18-4d06-a5fb-7058e9e98458",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "name": "SdkJob1735",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGetCopyStuck.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGetCopyStuck.json
new file mode 100644
index 000000000000..646c6d4d3a9c
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGetCopyStuck.json
@@ -0,0 +1,202 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "dmstestresource",
+ "jobName": "TJx-637505258985313014",
+ "api-version": "2020-03-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "bdcc8e76-b662-42a4-93fd-5554809712d7"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.26614.01",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": true,
+ "status": "CompletedWithWarnings",
+ "startTime": "2021-03-05T12:56:12.6384315+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "databoxbvttestaccount",
+ "transferType": "ImportToAzure",
+ "dataAccountType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "bytesProcessed": 2000,
+ "totalBytesToProcess": 2000,
+ "filesProcessed": 100,
+ "totalFilesToProcess": 110,
+ "invalidFilesProcessed": 10,
+ "invalidFileBytesUploaded": 10,
+ "renamedContainerCount": 60,
+ "filesErroredOut": 0,
+ "directoriesErroredOut": 0,
+ "invalidDirectoriesProcessed": 0,
+ "isEnumerationInProgress": false
+ }
+ ],
+ "expectedDataSizeInTeraBytes": 0,
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T12:56:25.3911023+05:30"
+ },
+ {
+ "stageName": "DevicePrepared",
+ "displayName": "Processed",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T13:07:49.676421+05:30"
+ },
+ {
+ "stageName": "Dispatched",
+ "displayName": "Dispatched",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T02:21:06+05:30"
+ },
+ {
+ "stageName": "Delivered",
+ "displayName": "Delivered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T02:21:13+05:30"
+ },
+ {
+ "stageName": "PickedUp",
+ "displayName": "Picked up",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T02:23:10+05:30"
+ },
+ {
+ "stageName": "AtAzureDC",
+ "displayName": "Received",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T02:23:17+05:30"
+ },
+ {
+ "stageName": "DataCopy",
+ "displayName": "Data copy in progress",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T13:34:20.1497635+05:30"
+ },
+ {
+ "stageName": "CompletedWithWarnings",
+ "stageStatus": "Succeeded",
+ "stageTime": "2021-03-05T14:08:38.250614+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": "Andrew Tribone",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ],
+ "notificationPreference": [
+ {
+ "stageName": "DevicePrepared",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Dispatched",
+ "sendNotification": true
+ },
+ {
+ "stageName": "Delivered",
+ "sendNotification": true
+ },
+ {
+ "stageName": "PickedUp",
+ "sendNotification": true
+ },
+ {
+ "stageName": "AtAzureDC",
+ "sendNotification": true
+ },
+ {
+ "stageName": "DataCopy",
+ "sendNotification": true
+ }
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "164 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "deliveryPackage": {
+ "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=5fb6965e-0b80-4f38-b21a-32673fed2d84",
+ "carrierName": "Ups",
+ "trackingId": "5fb6965e-0b80-4f38-b21a-32673fed2d84"
+ },
+ "returnPackage": {
+ "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=b3875a34-aad6-4dbe-83a9-3f39cb21b0e8",
+ "carrierName": "Ups",
+ "trackingId": "b3875a34-aad6-4dbe-83a9-3f39cb21b0e8"
+ },
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "preferences": {},
+ "copyLogDetails": [
+ {
+ "accountName": "databoxbvttestaccount",
+ "copyLogLink": "databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml",
+ "copyLogDetailsType": "DataBox"
+ }
+ ],
+ "reverseShipmentLabelSasKey": "http://wusbeta.blob.core.windows.net/devstoreaccount1/f6be6ea8-77da-419b-9f6b-3043c28b04e4/ReverseShipment/b3875a34-aad6-4dbe-83a9-3f39cb21b0e8.PDF?sv=2018-03-28&sr=b&sig=%2BJmOyIkG0ALrKQp%2F7NCOBYccQ80DRLvN%2FHtb6Z97heg%3D&st=2021-03-05T09%3A45%3A05Z&se=2021-03-05T10%3A15%3A05Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "MicrosoftManaged"
+ },
+ "actions": [],
+ "lastMitigationActionOnJob": {
+ "actionDateTimeInUtc": "2021-03-05T08:28:18.8107951Z",
+ "isPerformedByCustomer": true,
+ "customerResolution": "MoveToCleanUpDevice"
+ }
+ },
+ "deliveryType": "NonScheduled",
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {
+ "defaultTagsKey": "defaultTagsValue"
+ },
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "TJx-637505258985313014",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/dmstestresource/providers/Microsoft.DataBox/jobs/TJx-637505258985313014",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGetExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGetExport.json
new file mode 100644
index 000000000000..f5a346dce6e3
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsGetExport.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg8091",
+ "jobName": "SdkJob6429",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "b3739c7c-02b6-46c2-a04c-da6f8bca279c"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": true,
+ "status": "Cancelled",
+ "startTime": "2020-08-07T10:49:08.7195419+05:30",
+ "details": {
+ "copyProgress": [
+ {
+ "storageAccountName": "aaaaaa2",
+ "transferType": "ExportFromAzure",
+ "dataAccountType": "StorageAccount",
+ "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2",
+ "bytesProcessed": 0,
+ "totalBytesToProcess": 0,
+ "isEnumerationInProgress": false
+ }
+ ],
+ "jobStages": [
+ {
+ "stageName": "DeviceOrdered",
+ "displayName": "Ordered",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:49:12.7675644+05:30"
+ },
+ {
+ "stageName": "Cancelled",
+ "displayName": "Canceled",
+ "stageStatus": "Succeeded",
+ "stageTime": "2020-08-07T10:49:57.2572438+05:30"
+ }
+ ],
+ "contactDetails": {
+ "contactName": " ",
+ "emailList": [],
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "notificationPreference": []
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deliveryPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "returnPackage": {
+ "carrierName": "",
+ "trackingId": "",
+ "trackingUrl": ""
+ },
+ "dataImportDetails": [],
+ "dataExportDetails": [
+ {
+ "transferConfiguration": {
+ "transferConfigurationType": "TransferAll",
+ "transferFilterDetails": {},
+ "transferAllDetails": {
+ "include": {
+ "dataAccountType": "StorageAccount",
+ "transferAllBlobs": true,
+ "transferAllFiles": true
+ }
+ }
+ },
+ "logCollectionLevel": "Error",
+ "accountDetails": {
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2",
+ "dataAccountType": "StorageAccount"
+ }
+ }
+ ],
+ "jobDetailsType": "DataBox",
+ "copyLogDetails": [],
+ "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=04aL%2FTe7998qQJlhmGI3C0Q%2FxsCVo1t0B4uQUIx7TmQ%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-08T05%3A20%3A05Z&sp=r",
+ "chainOfCustodySasKey": "https://wusbeta.blob.core.windows.net/chainofcustody/9a6ee052-bcff-4b5e-a478-7dcbfb86e9fb.txt?sv=2018-03-28&sr=b&sig=JbBBXZKharvfg35ZfmrhowO1DuOpzcZCNUdeFzklvWs%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-07T05%3A40%3A05Z&sp=r",
+ "keyEncryptionKey": {
+ "kekType": "MicrosoftManaged"
+ }
+ },
+ "cancellationReason": "CancelTest",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "SdkJob6429",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsList.json
new file mode 100644
index 000000000000..d64a4a51fe40
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsList.json
@@ -0,0 +1,805 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "044127c5-663e-4a0f-9061-2fa0ca8058c4"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-08-30T14:44:39.77401+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "australiaeast",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "mnaustest",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/mnaustest",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-09-10T18:03:22.2578238+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "australiaeast",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "portalcontractAUS",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/portalcontractAUS",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-08-30T15:17:17.3753642+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "australiaeast",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxDisk"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testBB-diskAU",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/testBB/providers/Microsoft.DataBox/jobs/testBB-diskAU",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T11:12:15.5972523+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "allXML",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/allXML",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-07T15:51:08.4479315+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "bothExportAllxml",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/bothExportAllxml",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T19:44:59.2410723+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "exportAll",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/exportAll",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T18:31:05.3036028+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "importRegressnTest",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/importRegressnTest",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-09T01:57:03.8985885+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testBotthXMLAndAll",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testBotthXMLAndAll",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-05T15:56:52.6983398+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testExportAllOrder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testExportAllOrder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T17:45:25.464989+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testPayload",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testPayload",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-04T10:43:04.8775864+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "xmlOnlyOrder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/xmlOnlyOrder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2018-11-27T15:17:49.0760408+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testbadresourcegroup",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ93/providers/Microsoft.DataBox/jobs/testbadresourcegroup",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2019-01-04T09:08:49.9928621+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "andipodtest4jan",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/andipodtest4jan",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-05-28T15:20:48.1058546+05:30",
+ "cancellationReason": "NoLongerNeeded null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "dbtest1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/dbtest1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-14T08:51:18.2067875+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautam14-04-Clone",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautam14-04-Clone",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-27T18:08:30.6622356+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautamtestexport",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestexport",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-21T20:41:02.3837388+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "DegautamTestExportOrder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/DegautamTestExportOrder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-24T07:56:23.6839464+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautamtestorder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestorder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-14T08:48:21.2260174+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "degautamTestOrder14-04",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamTestOrder14-04",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-05-12T12:19:19.8627264+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "export",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/export",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-05T19:50:20.9692355+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "exportTestResource",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/exportTestResource",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-10T15:09:45.7080012+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportNew",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportNew",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-10T15:13:02.5724966+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportOld",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ExportFromAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-20T13:39:28.1940929+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportOld1",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld1",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2020-04-10T15:14:59.6879599+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "sanakTestImportOld2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld2",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": false,
+ "status": "DeviceOrdered",
+ "startTime": "2020-07-21T23:43:34.513148+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "saranyagorder",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/saranyagorder",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2019-07-04T14:01:50.9232807+05:30",
+ "cancellationReason": "IncorrectOrder null",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testdeepak04-07",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdeepak04-07",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": false,
+ "isDeletable": true,
+ "isShippingAddressEditable": false,
+ "isPrepareToShipEnabled": false,
+ "status": "Cancelled",
+ "startTime": "2019-02-11T12:33:16.6231232+05:30",
+ "cancellationReason": "Old job which is still in ordered state cancelled by the service",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": false
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBoxHeavy"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "testdurga-heavy",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.DataBox/jobs?api-version=2020-11-01&%24skiptoken=fVJdb5swFP0v0bq3NMaFFipVU5oATRbSxBjz8WYDIQbzoUBISNX%2fPrfVumnaJvnB8rn3nON77suoSs%2fdildFO7p%2fGfmmiz13dD%2fad13T3k8mJa1olpZp1V3Ty%2fGQXsd1OWmPrI0PvOl4XbWTHb3VgQ53Y323uxurFGpjQ4vvxnFqJFRTFajC3aQ51D1P0kM7cXh8qNt6113PaUcf6%2fMkr1n7jTZ83EtcUj5AAMEYqGOgfP3SFrzBdZFWD5u5oTL%2flCUlGWIoepYD7rjqacEfBSvXfWSLY3QBPAlQucImXOT6FWTzba1voXFMJJr4FqC%2bcSS2cYh89QPNFvPznEFNIpoSBqiRd4%2fBTrBcXc%2f4NFvMpjr51FSHVT7VV0ok4motaz9ZZtNsYyEttj3JS2yLM9uTdT9fpI83pmxjaiJ9QtswWAL6obaKgkL2OK4pBS3KPG%2fAAD2uTaXzA7RBStPhqjg5lvBcbDnEbs9%2b0OSJVQwEE4qAd8YFslJPM91SCdNiWYYiaWm57p6DhjuiPmFbcamNnlApuAP3JfZCLfYXg1vV%2bgr8y9Efnl12k%2fzyCp9nVs5IdBvmaz8l0kuFIt9c3oQkVpjY327LKGc%2beteitnnxyzNnAaojM1QTJbt45Tl3lOUhsvbfmRDY8Q1KQDhEBFkrfOpxSdTEWvYJ6ESKf8vCtoYIEoBtI%2f%2fI6y0D72nZMN8aUtkpp%2f%2bXivffzE%2f9f7dBTmPds0puQUX2cmd6JlBPITlusqubRJ7R6%2bsP"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsListByResourceGroup.json
new file mode 100644
index 000000000000..61e890cd477b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsListByResourceGroup.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "c1514209-a439-4bd1-b040-76d7539d2509"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-07-03T11:55:54.463792+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "fac84c35-5490-4b11-81b9-770053ccbe3b",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "name": "SdkJob5928",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob5928",
+ "type": "Microsoft.DataBox/jobs"
+ },
+ {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isDeletable": false,
+ "isShippingAddressEditable": true,
+ "isPrepareToShipEnabled": true,
+ "status": "DeviceOrdered",
+ "startTime": "2020-08-07T10:50:36.3341513+05:30",
+ "deliveryType": "NonScheduled",
+ "deliveryInfo": {
+ "scheduledDateTime": "0001-01-01T05:30:00+05:30"
+ },
+ "isCancellableWithoutFee": true
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsListCredentials.json
new file mode 100644
index 000000000000..c5134769275f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsListCredentials.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "cda11c92-529b-4b75-b56d-ff1a69ffeeba"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobName": "TJ-636646322037905056",
+ "jobSecrets": {
+ "podSecrets": [
+ {
+ "deviceSerialNumber": "testimolapod-3ecc44ce",
+ "devicePassword": "",
+ "networkConfigurations": [
+ {
+ "name": "DataPort3",
+ "macAddress": "D05099C1F439"
+ },
+ {
+ "name": "DataPort1",
+ "macAddress": "EC0D9A21A6C0"
+ },
+ {
+ "name": "DataPort2",
+ "macAddress": "EC0D9A21A6C1"
+ }
+ ],
+ "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==",
+ "accountCredentialDetails": [
+ {
+ "accountName": "databoxbvttestaccount",
+ "dataAccountType": "StorageAccount",
+ "accountConnectionString": "",
+ "shareCredentialDetails": [
+ {
+ "shareName": "databoxbvttestaccount_PageBlob",
+ "shareType": "PageBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_BlockBlob",
+ "shareType": "BlockBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_AzFile",
+ "shareType": "AzureFile",
+ "userName": "databoxbvttestac_903",
+ "password": "",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "jobSecretsType": "DataBox",
+ "dcAccessSecurityCode": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsPatch.json
new file mode 100644
index 000000000000..92febae7150b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsPatch.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-11-01",
+ "$expand": "details",
+ "x-ms-client-request-id": [
+ "ff3829ca-bcb0-4737-b6e0-52af57f34bb7"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "584"
+ ],
+ "jobResourceUpdateParameter": {
+ "properties": {
+ "details": {
+ "contactDetails": {
+ "contactName": "Update Job",
+ "phone": "1234567890",
+ "phoneExtension": "1234",
+ "emailList": [
+ "testing@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2018-04-13T16:28:38.9999793+05:30"
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob952",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsPatchCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsPatchCmk.json
new file mode 100644
index 000000000000..1992899e8242
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsPatchCmk.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7937",
+ "jobName": "SdkJob1735",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "fcab0fa9-7af8-47e0-b570-d703a48ee66b"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "358"
+ ],
+ "jobResourceUpdateParameter": {
+ "properties": {
+ "details": {
+ "keyEncryptionKey": {
+ "kekType": "CustomerManaged",
+ "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/",
+ "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2018-04-13T16:28:38.9999793+05:30"
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob1735",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsPatchSystemAssignedToUserAssigned.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsPatchSystemAssignedToUserAssigned.json
new file mode 100644
index 000000000000..c2d169ad6a82
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/JobsPatchSystemAssignedToUserAssigned.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg9765",
+ "jobName": "SdkJob2965",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "25b11bec-6551-47a4-9ee2-575245cbfd45"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29220.03",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.19041.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "923"
+ ],
+ "jobResourceUpdateParameter": {
+ "properties": {
+ "details": {
+ "keyEncryptionKey": {
+ "kekType": "CustomerManaged",
+ "identityProperties": {
+ "type": "UserAssigned",
+ "userAssigned": {
+ "resourceId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity"
+ }
+ },
+ "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/",
+ "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault"
+ }
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned,UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "transferType": "ImportToAzure",
+ "isCancellable": true,
+ "isShippingAddressEditable": true,
+ "status": "DeviceOrdered",
+ "startTime": "2018-04-13T16:28:38.9999793+05:30"
+ },
+ "location": "westus",
+ "tags": {},
+ "sku": {
+ "name": "DataBox"
+ },
+ "name": "SdkJob2965",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg9765/providers/Microsoft.DataBox/jobs/SdkJob2965",
+ "type": "Microsoft.DataBox/jobs"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..f96f0598e269
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/OperationsGet.json
@@ -0,0 +1,212 @@
+{
+ "parameters": {
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "b9453354-c675-40a8-99c0-8039818c85fd"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataBox/locations/operationResults/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Operation Results",
+ "operation": "List Operation Results",
+ "description": "List or get the Operation Results"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/cancel/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Cancel",
+ "description": "Cancels an order in progress."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/bookShipmentPickUp/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Book Shipment Pick Up",
+ "description": "Allows to book a pick up for return shipments."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "List Orders",
+ "description": "List or get the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/delete",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Delete Orders",
+ "description": "Delete the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/write",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "Create or Update Orders",
+ "description": "Create or update the Orders"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/jobs/listCredentials/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Orders",
+ "operation": "List Credentials",
+ "description": "Lists the unencrypted credentials related to the order."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/validateInputs/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Validate Inputs",
+ "operation": "Validate Inputs",
+ "description": "This method does all type of validations."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/validateAddress/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Validate Address",
+ "operation": "Validate Address",
+ "description": "Validates the shipping address and provides alternate addresses if any."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/subscriptions/resourceGroups/moveResources/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Move Resource",
+ "operation": "Move Resource",
+ "description": "This method performs the resource move."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/subscriptions/resourceGroups/validateMoveResources/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Move Resource",
+ "operation": "Validate Move Resource Request",
+ "description": "This method validates whether resource move is allowed or not."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/availableSkus/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Available Skus",
+ "operation": "Availabe Skus",
+ "description": "This method returns the list of available skus."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/regionConfiguration/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Region Configuration",
+ "operation": "Region Configuration",
+ "description": "This method returns the configurations for the region."
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/locations/availableSkus/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Available Skus",
+ "operation": "List Available Skus",
+ "description": "List or get the Available Skus"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/register/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Register Microsoft.Databox",
+ "operation": "Register Microsoft.Databox",
+ "description": "Register Provider Microsoft.Databox"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/unregister/action",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Register Microsoft.Databox",
+ "operation": "Un-Register Microsoft.Databox",
+ "description": "Un-Register Provider Microsoft.Databox"
+ },
+ "properties": {},
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBox/operations/read",
+ "display": {
+ "provider": "Azure Data Box",
+ "resource": "Operations",
+ "operation": "List Operations",
+ "description": "List or get the Operations"
+ },
+ "properties": {},
+ "origin": "user"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/RegionConfiguration.json
new file mode 100644
index 000000000000..ea1758e64f6b
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/RegionConfiguration.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "regionConfigurationRequest": {
+ "scheduleAvailabilityRequest": {
+ "storageLocation": "westus",
+ "skuName": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "scheduleAvailabilityResponse": {
+ "availableDates": [
+ "2019-07-11T00:00:00+00:00",
+ "2019-07-12T00:00:00+00:00",
+ "2019-07-13T00:00:00+00:00",
+ "2019-07-14T00:00:00+00:00",
+ "2019-07-15T00:00:00+00:00",
+ "2019-07-16T00:00:00+00:00",
+ "2019-07-17T00:00:00+00:00",
+ "2019-07-18T00:00:00+00:00",
+ "2019-07-19T00:00:00+00:00",
+ "2019-07-20T00:00:00+00:00",
+ "2019-07-21T00:00:00+00:00",
+ "2019-07-22T00:00:00+00:00",
+ "2019-07-23T00:00:00+00:00",
+ "2019-07-24T00:00:00+00:00",
+ "2019-07-25T00:00:00+00:00",
+ "2019-07-26T00:00:00+00:00",
+ "2019-07-27T00:00:00+00:00",
+ "2019-07-28T00:00:00+00:00",
+ "2019-07-29T00:00:00+00:00",
+ "2019-07-30T00:00:00+00:00",
+ "2019-07-31T00:00:00+00:00"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/RegionConfigurationByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/RegionConfigurationByResourceGroup.json
new file mode 100644
index 000000000000..653dbcb9e19e
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/RegionConfigurationByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "regionConfigurationRequest": {
+ "scheduleAvailabilityRequest": {
+ "storageLocation": "westus",
+ "skuName": "DataBox"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "scheduleAvailabilityResponse": {
+ "availableDates": [
+ "2019-07-11T00:00:00+00:00",
+ "2019-07-12T00:00:00+00:00",
+ "2019-07-13T00:00:00+00:00",
+ "2019-07-14T00:00:00+00:00",
+ "2019-07-15T00:00:00+00:00",
+ "2019-07-16T00:00:00+00:00",
+ "2019-07-17T00:00:00+00:00",
+ "2019-07-18T00:00:00+00:00",
+ "2019-07-19T00:00:00+00:00",
+ "2019-07-20T00:00:00+00:00",
+ "2019-07-21T00:00:00+00:00",
+ "2019-07-22T00:00:00+00:00",
+ "2019-07-23T00:00:00+00:00",
+ "2019-07-24T00:00:00+00:00",
+ "2019-07-25T00:00:00+00:00",
+ "2019-07-26T00:00:00+00:00",
+ "2019-07-27T00:00:00+00:00",
+ "2019-07-28T00:00:00+00:00",
+ "2019-07-29T00:00:00+00:00",
+ "2019-07-30T00:00:00+00:00",
+ "2019-07-31T00:00:00+00:00"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/ValidateAddressPost.json
new file mode 100644
index 000000000000..40a3f3c5037d
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/ValidateAddressPost.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "cfda3c52-b129-4568-aba7-e743edf747c2"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "351"
+ ],
+ "validateAddress": {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "validationStatus": "Valid",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ],
+ "validationType": "ValidateAddress"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/ValidateInputs.json
new file mode 100644
index 000000000000..cd8a27819782
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/ValidateInputs.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-11-01",
+ "x-ms-client-request-id": [
+ "129a0589-5017-4f35-a66c-8da38e04aae1"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.29017.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18363.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1675"
+ ],
+ "validationRequest": {
+ "validationCategory": "JobCreationValidation",
+ "individualRequestDetails": [
+ {
+ "validationType": "ValidateDataTransferDetails",
+ "dataImportDetails": [
+ {
+ "accountDetails": {
+ "dataAccountType": "StorageAccount",
+ "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount"
+ }
+ }
+ ],
+ "deviceType": "DataBox",
+ "transferType": "ImportToAzure"
+ },
+ {
+ "validationType": "ValidateAddress",
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "Commercial"
+ },
+ "deviceType": "DataBox",
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ {
+ "validationType": "ValidateSubscriptionIsAllowedToCreateJob"
+ },
+ {
+ "validationType": "ValidateSkuAvailability",
+ "deviceType": "DataBox",
+ "transferType": "ImportToAzure",
+ "country": "US",
+ "location": "westus"
+ },
+ {
+ "validationType": "ValidateCreateOrderLimit",
+ "deviceType": "DataBox"
+ },
+ {
+ "validationType": "ValidatePreferences",
+ "preference": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "deviceType": "DataBox"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "status": "AllValidToProceed",
+ "individualResponseDetails": [
+ {
+ "status": "Valid",
+ "validationType": "ValidateDataTransferDetails",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "validationStatus": "Valid",
+ "alternateAddresses": [
+ {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "Unit 1",
+ "streetAddress3": "",
+ "city": "SAN FRANCISCO",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "addressType": "None"
+ }
+ ],
+ "validationType": "ValidateAddress",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateSubscriptionIsAllowedToCreateJob",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateSkuAvailability",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidateCreateOrderLimit",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ },
+ {
+ "status": "Valid",
+ "validationType": "ValidatePreferences",
+ "error": {
+ "code": "Success",
+ "target": "KeyEncryptionKey",
+ "details": [],
+ "additionalInfo": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-01/examples/ValidateInputsByResourceGroup.json
new file mode 100644
index 000000000000..c70a59c27ffe
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-03-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
index c4424d428592..bdd1e93bf4e7 100644
--- a/specification/databox/resource-manager/readme.azureresourceschema.md
+++ b/specification/databox/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-databox-2021-03-01
- tag: schema-databox-2020-11-01
- tag: schema-databox-2020-04-01
- tag: schema-databox-2019-09-01
@@ -15,6 +16,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-databox-2021-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databox-2021-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBox/stable/2021-03-01/databox.json
+
+```
+
### Tag: schema-databox-2020-11-01 and azureresourceschema
``` yaml $(tag) == 'schema-databox-2020-11-01' && $(azureresourceschema)
diff --git a/specification/databox/resource-manager/readme.cli.md b/specification/databox/resource-manager/readme.cli.md
index a6275e9e42c2..685a3b701cc9 100644
--- a/specification/databox/resource-manager/readme.cli.md
+++ b/specification/databox/resource-manager/readme.cli.md
@@ -9,6 +9,7 @@ cli:
namespace: azure.mgmt.databox
test-scenario:
- name: JobsCreate
+ - name: JobsGet6
- name: JobsGet5
- name: JobsGet4
- name: JobsGet3
@@ -29,4 +30,5 @@ cli:
- name: ServiceValidateInputs
- name: AvailableSkusPost
- name: JobsDelete
+ - name: JobMitigate
```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.go.md b/specification/databox/resource-manager/readme.go.md
index 36d7f11fa3d8..9213be8d0375 100644
--- a/specification/databox/resource-manager/readme.go.md
+++ b/specification/databox/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: databox
clear-output-folder: true
```
@@ -17,6 +17,16 @@ batch:
- tag: package-2019-09
- tag: package-2020-04
- tag: package-2020-11
+ - tag: package-2021-03
+```
+
+### Tag: package-2021-03 and go
+
+These settings apply only when `--tag=package-2021-03 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-03-01/$(namespace)
```
### Tag: package-2018-01 and go
diff --git a/specification/databox/resource-manager/readme.java.md b/specification/databox/resource-manager/readme.java.md
new file mode 100644
index 000000000000..e6f705978a1f
--- /dev/null
+++ b/specification/databox/resource-manager/readme.java.md
@@ -0,0 +1,90 @@
+## 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.databox
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databox
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2018-01
+ - tag: package-2019-09
+ - tag: package-2020-04
+ - tag: package-2020-11
+ - tag: package-2021-03
+```
+
+### Tag: package-2018-01 and java
+
+These settings apply only when `--tag=package-2018-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databox.v2018_01_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2018_01_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-09 and java
+
+These settings apply only when `--tag=package-2019-09-java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databox.v2019_09-01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2019_09_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2020-04 and java
+
+These settings apply only when `--tag=package-2020-04-java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databox.v2020_04-01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2020_04_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2020-11 and java
+
+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
+```
+
+### Tag: package-2021-03 and java
+
+These settings apply only when `--tag=package-2021-03-java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databox.v2021_03-01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2021_03_01
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.md b/specification/databox/resource-manager/readme.md
index 532f31b614f9..dffeda5e29e4 100644
--- a/specification/databox/resource-manager/readme.md
+++ b/specification/databox/resource-manager/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the DataBox API.
``` yaml
openapi-type: arm
-tag: package-2020-11
+tag: package-2021-03
+```
+
+### Tag: package-2021-03
+
+These settings apply only when `--tag=package-2021-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03'
+input-file:
+- Microsoft.DataBox/stable/2021-03-01/databox.json
```
### Tag: package-2020-11
@@ -80,6 +89,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
after_scripts:
- python ./scripts/multiapi_init_gen.py azure-mgmt-databox
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-go
@@ -128,80 +138,7 @@ See configuration in [readme.go.md](./readme.go.md)
## Java
-These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(java)
-java:
- azure-arm: true
- fluent: true
- namespace: com.microsoft.azure.management.databox
- license-header: MICROSOFT_MIT_NO_CODEGEN
- payload-flattening-threshold: 1
- output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databox
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2018-01
- - tag: package-2019-09
- - tag: package-2020-04
- - tag: package-2020-11
-```
-
-### Tag: package-2018-01 and java
-
-These settings apply only when `--tag=package-2018-01 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2018-01' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.databox.v2018_01_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2018_01_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2019-09 and java
-
-These settings apply only when `--tag=package-2019-09-java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2019-09' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.databox.v2019_09-01
- output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2019_09_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2020-04 and java
-
-These settings apply only when `--tag=package-2020-04-java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2020-04' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.databox.v2020_04-01
- output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2020_04_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2020-11 and java
-
-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
-```
+See configuration in [readme.java.md](./readme.java.md)
## AzureResourceSchema
diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md
index 2956e1d72d64..a4a1d6053bd0 100644
--- a/specification/databox/resource-manager/readme.python.md
+++ b/specification/databox/resource-manager/readme.python.md
@@ -36,6 +36,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && !$(track2)
batch:
+ - tag: package-2021-03
- tag: package-2020-11
- tag: package-2020-04
- tag: package-2019-09
@@ -44,6 +45,7 @@ batch:
```yaml $(python) && $(multiapi) && $(track2)
batch:
+ - tag: package-2021-03
- tag: package-2020-11
- tag: package-2020-04
- tag: package-2019-09
@@ -57,6 +59,21 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-03 and python
+
+These settings apply only when `--tag=package-2021-03 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(python) && !$(track2)
+python:
+ namespace: azure.mgmt.databox.v2021_03_01
+ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2021_03_01
+```
+``` yaml $(tag) == 'package-2021-03' && $(python) && $(track2)
+namespace: azure.mgmt.databox.v2021_03_01
+output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2021_03_01
+```
+
### Tag: package-2020-11 and python
These settings apply only when `--tag=package-2020-11 --python` is specified on the command line.
diff --git a/specification/databox/resource-manager/readme.ruby.md b/specification/databox/resource-manager/readme.ruby.md
index fddb1784e32c..e151617df9d9 100644
--- a/specification/databox/resource-manager/readme.ruby.md
+++ b/specification/databox/resource-manager/readme.ruby.md
@@ -16,6 +16,17 @@ batch:
- tag: package-2019-09
- tag: package-2020-04
- tag: package-2020-11
+ - tag: package-2021-03
+```
+
+### Tag: package-2021-03 and ruby
+
+These settings apply only when `--tag=package-2021-03 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(ruby)
+namespace: "Azure::Compute::Mgmt::V2021_03_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib
```
### Tag: package-2018-01 and ruby
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/databoxedge.json
new file mode 100644
index 000000000000..634314687a43
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/databoxedge.json
@@ -0,0 +1,8747 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-02-01-preview",
+ "title": "DataBoxEdgeManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.DataBoxEdge/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List all the supported operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of supported operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/availableSkus": {
+ "get": {
+ "tags": [
+ "AvailableSkus"
+ ],
+ "summary": "List all the available Skus and information related to them.",
+ "operationId": "AvailableSkus_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists the available Skus and information related to them.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeSkuList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AvailableSkus": {
+ "$ref": "./examples/AvailableSkusList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets all the Data Box Edge/Data Box Gateway devices in a subscription.",
+ "operationId": "Devices_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of Data Box Edge/Data Box Gateway devices.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetBySubscription": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets all the Data Box Edge/Data Box Gateway devices in a resource group.",
+ "operationId": "Devices_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of Data Box Edge/Data Box Gateway devices.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetByResourceGroup": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets the properties of the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Box Edge/Data Box Gateway device.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetByName": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByName.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Creates or updates a Data Box Edge/Data Box Gateway resource.",
+ "operationId": "Devices_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "dataBoxEdgeDevice",
+ "in": "body",
+ "description": "The resource object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the resource.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePut": {
+ "$ref": "./examples/DataBoxEdgeDevicePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Deletes the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the resource."
+ },
+ "204": {
+ "description": "The resource is already deleted."
+ },
+ "200": {
+ "description": "Successfully deleted the resource."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceDelete": {
+ "$ref": "./examples/DataBoxEdgeDeviceDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Modifies a Data Box Edge/Data Box Gateway resource.",
+ "operationId": "Devices_Update",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The resource parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevicePatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the resource.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePatch": {
+ "$ref": "./examples/DataBoxEdgeDevicePatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "description": "Gets all the alerts for a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Alerts_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of alerts.",
+ "schema": {
+ "$ref": "#/definitions/AlertList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AlertGetAllInDevice": {
+ "$ref": "./examples/AlertGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "summary": "Gets an alert by name.",
+ "operationId": "Alerts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The alert name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The alert details.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "AlertGet": {
+ "$ref": "./examples/AlertGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules": {
+ "get": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device.",
+ "operationId": "BandwidthSchedules_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of bandwidth schedules.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "BandwidthScheduleGetAllInDevice": {
+ "$ref": "./examples/BandwidthScheduleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}": {
+ "get": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Gets the properties of the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The bandwidth schedule.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BandwidthScheduleGet": {
+ "$ref": "./examples/BandwidthScheduleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Creates or updates a bandwidth schedule.",
+ "operationId": "BandwidthSchedules_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name which needs to be added/updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The bandwidth schedule to be added or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the bandwidth schedule."
+ },
+ "200": {
+ "description": "Successfully created or updated the bandwidth schedule.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthSchedulePut": {
+ "$ref": "./examples/BandwidthSchedulePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Deletes the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the bandwidth schedule."
+ },
+ "204": {
+ "description": "Successfully deleted the bandwidth schedule."
+ },
+ "200": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthScheduleDelete": {
+ "$ref": "./examples/BandwidthScheduleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Downloads the updates on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_DownloadUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to download the updates on the device."
+ },
+ "200": {
+ "description": "Successfully downloaded the updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DownloadUpdatesPost": {
+ "$ref": "./examples/DownloadUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/generateCertificate": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Generates certificate for activation key.",
+ "operationId": "Devices_GenerateCertificate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully generated self signed certificate.",
+ "schema": {
+ "$ref": "#/definitions/GenerateCertResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GenerateCertificate": {
+ "$ref": "./examples/GenerateCertificate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets additional information for the specified Azure Stack Edge/Data Box Gateway device.",
+ "operationId": "Devices_GetExtendedInformation",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The additional information.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExtendedInfoPost": {
+ "$ref": "./examples/ExtendedInfoPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Installs the updates on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_InstallUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to install updates on the device."
+ },
+ "200": {
+ "description": "Successfully installed updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "InstallUpdatesPost": {
+ "$ref": "./examples/InstallUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Jobs_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets the network settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_GetNetworkSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The device network settings.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSettingsGet": {
+ "$ref": "./examples/NetworkSettingsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes": {
+ "get": {
+ "tags": [
+ "Nodes"
+ ],
+ "description": "Gets all the nodes currently configured under this Data Box Edge device",
+ "operationId": "Nodes_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all nodes on the device.",
+ "schema": {
+ "$ref": "#/definitions/NodeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "NodesGetAllInDevice": {
+ "$ref": "./examples/NodeGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}": {
+ "get": {
+ "tags": [
+ "OperationsStatus"
+ ],
+ "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "OperationsStatus_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationsStatusGet": {
+ "$ref": "./examples/OperationsStatusGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Lists all the orders related to a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Orders_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists all the orders for the Data Box Edge Device",
+ "schema": {
+ "$ref": "#/definitions/OrderList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OrderGetAllInDevice": {
+ "$ref": "./examples/OrderGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Gets a specific order by name.",
+ "operationId": "Orders_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The order details of a device.",
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OrderGet": {
+ "$ref": "./examples/OrderGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Creates or updates an order.",
+ "operationId": "Orders_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The order details of a device.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "order",
+ "in": "body",
+ "description": "The order to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the order."
+ },
+ "200": {
+ "description": "Successfully created or updated the order.",
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderPut": {
+ "$ref": "./examples/OrderPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Deletes the order related to the device.",
+ "operationId": "Orders_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the order."
+ },
+ "204": {
+ "description": "The order is already deleted."
+ },
+ "200": {
+ "description": "Successfully deleted the order."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderDelete": {
+ "$ref": "./examples/OrderDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default/listDCAccessCode": {
+ "post": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Gets the DCAccess Code",
+ "operationId": "Orders_ListDCAccessCode",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "DC Access code for the device",
+ "schema": {
+ "$ref": "#/definitions/DCAccessCode"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDCAccessCode": {
+ "$ref": "./examples/GetDCAccessCode.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles": {
+ "get": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Lists all the roles configured in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Roles_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the roles configured in the device.",
+ "schema": {
+ "$ref": "#/definitions/RoleList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "RoleGetAllInDevice": {
+ "$ref": "./examples/RoleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}": {
+ "get": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Gets a specific role by name.",
+ "operationId": "Roles_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The role with the specified name in the given device.",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RoleGet": {
+ "$ref": "./examples/RoleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Create or update a role.",
+ "operationId": "Roles_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "role",
+ "in": "body",
+ "description": "The role properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the role."
+ },
+ "200": {
+ "description": "Successfully created or updated the role.",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RolePut": {
+ "$ref": "./examples/RolePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Deletes the role on the device.",
+ "operationId": "Roles_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the role."
+ },
+ "204": {
+ "description": "The role is already deleted."
+ },
+ "200": {
+ "description": "Successfully deleted the role."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RoleDelete": {
+ "$ref": "./examples/RoleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons": {
+ "get": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Lists all the addons configured in the role.",
+ "operationId": "Addons_ListByRole",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the addons configured in the role.",
+ "schema": {
+ "$ref": "#/definitions/AddonList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "RoleListAddOns": {
+ "$ref": "./examples/RoleListAddOns.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons/{addonName}": {
+ "get": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Gets a specific addon by name.",
+ "operationId": "Addons_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The addon with the specified name in the role.",
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetAddons": {
+ "$ref": "./examples/GetAddons.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Create or update a addon.",
+ "operationId": "Addons_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addon",
+ "in": "body",
+ "description": "The addon properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the addon."
+ },
+ "200": {
+ "description": "Successfully created or updated the addon.",
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PutAddons": {
+ "$ref": "./examples/PutAddons.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Deletes the addon on the device.",
+ "operationId": "Addons_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the addon."
+ },
+ "204": {
+ "description": "The addon is already deleted."
+ },
+ "200": {
+ "description": "Successfully deleted the addon."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "DeleteAddons": {
+ "$ref": "./examples/DeleteAddons.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig": {
+ "get": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Lists metric configurations in a role.",
+ "operationId": "MonitoringConfig_List",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The monitoring config details.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfigurationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListMonitoringConfig": {
+ "$ref": "./examples/ListMonitoringConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig/default": {
+ "get": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Gets a metric configuration of a role.",
+ "operationId": "MonitoringConfig_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The monitoring config details.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetMonitoringConfig": {
+ "$ref": "./examples/GetMonitoringConfig.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Creates a new metric configuration or updates an existing one for a role.",
+ "operationId": "MonitoringConfig_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "monitoringMetricConfiguration",
+ "in": "body",
+ "description": "The metric configuration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the metrics configuration."
+ },
+ "200": {
+ "description": "Successfully created or updated the metrics configuration.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PutMonitoringConfig": {
+ "$ref": "./examples/PutMonitoringConfig.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "deletes a new metric configuration for a role.",
+ "operationId": "MonitoringConfig_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the metrics configuration."
+ },
+ "202": {
+ "description": "Accepted the request to delete the metrics configuration."
+ },
+ "204": {
+ "description": "The metrics configuration is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DeleteMonitoringConfig": {
+ "$ref": "./examples/DeleteMonitoringConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Scans for updates on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_ScanForUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to scan for updates on the device."
+ },
+ "200": {
+ "description": "Successfully scanned the device for updates."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ScanForUpdatesPost": {
+ "$ref": "./examples/ScanForUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Updates the security settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_CreateOrUpdateSecuritySettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "securitySettings",
+ "in": "body",
+ "description": "The security settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecuritySettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to update the security settings."
+ },
+ "204": {
+ "description": "Updated the security settings."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CreateOrUpdateSecuritySettings": {
+ "$ref": "./examples/SecuritySettingsUpdatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares": {
+ "get": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Lists all the shares in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Shares_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the shares on the device.",
+ "schema": {
+ "$ref": "#/definitions/ShareList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ShareGetAllInDevice": {
+ "$ref": "./examples/ShareGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}": {
+ "get": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Gets a share by name.",
+ "operationId": "Shares_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The share details.",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ShareGet": {
+ "$ref": "./examples/ShareGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Creates a new share or updates an existing share on the device.",
+ "operationId": "Shares_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "in": "body",
+ "description": "The share properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the share."
+ },
+ "200": {
+ "description": "Successfully created or updated the share.",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SharePut": {
+ "$ref": "./examples/SharePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Shares"
+ ],
+ "description": "Deletes the share on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Shares_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the share."
+ },
+ "204": {
+ "description": "The share is already deleted."
+ },
+ "200": {
+ "description": "Successfully deleted the share."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareDelete": {
+ "$ref": "./examples/ShareDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh": {
+ "post": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Refreshes the share metadata with the data from the cloud.",
+ "operationId": "Shares_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to refresh the share on the device."
+ },
+ "200": {
+ "description": "Successfully refreshed the share on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareRefreshPost": {
+ "$ref": "./examples/ShareRefreshPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials": {
+ "get": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "summary": "Gets all the storage account credentials in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccountCredentials_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of storage account credentials.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredentialList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SACGetAllInDevice": {
+ "$ref": "./examples/SACGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}": {
+ "get": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Gets the properties of the specified storage account credential.",
+ "operationId": "StorageAccountCredentials_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account credential properties.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SACGet": {
+ "$ref": "./examples/SACGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Creates or updates the storage account credential.",
+ "operationId": "StorageAccountCredentials_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountCredential",
+ "in": "body",
+ "description": "The storage account credential.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the storage account credential."
+ },
+ "200": {
+ "description": "Successfully created or updated the storage account credential.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACPut": {
+ "$ref": "./examples/SACPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Deletes the storage account credential.",
+ "operationId": "StorageAccountCredentials_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the storage account credential."
+ },
+ "204": {
+ "description": "The storage account credential is already deleted."
+ },
+ "200": {
+ "description": "Successfully deleted the storage account credential."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACDelete": {
+ "$ref": "./examples/SACDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts": {
+ "get": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Lists all the StorageAccounts in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the StorageAccounts on the device.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "StorageAccountGetAllInDevice": {
+ "$ref": "./examples/StorageAccountGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}": {
+ "get": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Gets a StorageAccount by name.",
+ "operationId": "StorageAccounts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage account name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account details.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "StorageAccountGet": {
+ "$ref": "./examples/StorageAccountGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Creates a new StorageAccount or updates an existing StorageAccount on the device.",
+ "operationId": "StorageAccounts_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccount",
+ "in": "body",
+ "description": "The StorageAccount properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the StorageAccount."
+ },
+ "200": {
+ "description": "Successfully created or updated the StorageAccount.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StorageAccountPut": {
+ "$ref": "./examples/StorageAccountPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "description": "Deletes the StorageAccount on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the StorageAccount."
+ },
+ "204": {
+ "description": "The StorageAccount is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StorageAccountDelete": {
+ "$ref": "./examples/StorageAccountDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers": {
+ "get": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Lists all the containers of a storage Account in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_ListByStorageAccount",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage Account name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the containers on the device.",
+ "schema": {
+ "$ref": "#/definitions/ContainerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ContainerListAllInDevice": {
+ "$ref": "./examples/ContainerListAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}": {
+ "get": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Gets a container by name.",
+ "operationId": "Containers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The container details.",
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ContainerGet": {
+ "$ref": "./examples/ContainerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Creates a new container or updates an existing container on the device.",
+ "operationId": "Containers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "body",
+ "description": "The container properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the container."
+ },
+ "200": {
+ "description": "Successfully created or updated the container.",
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerPut": {
+ "$ref": "./examples/ContainerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Containers"
+ ],
+ "description": "Deletes the container on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the container."
+ },
+ "204": {
+ "description": "The container is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerDelete": {
+ "$ref": "./examples/ContainerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}/refresh": {
+ "post": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Refreshes the container metadata with the data from the cloud.",
+ "operationId": "Containers_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to refresh the container on the device."
+ },
+ "200": {
+ "description": "Successfully refreshed the container on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerRefresh": {
+ "$ref": "./examples/ContainerRefresh.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers": {
+ "get": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Lists all the triggers configured in the device.",
+ "operationId": "Triggers_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='CustomContextTag eq ' to filter on custom context tag property",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List all the triggers configured in the device",
+ "schema": {
+ "$ref": "#/definitions/TriggerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TriggerGetAllInDevice": {
+ "$ref": "./examples/TriggerGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}": {
+ "get": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Get a specific trigger by name.",
+ "operationId": "Triggers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The trigger.",
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TriggerGet": {
+ "$ref": "./examples/TriggerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Creates or updates a trigger.",
+ "operationId": "Triggers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "Creates or updates a trigger",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "trigger",
+ "in": "body",
+ "description": "The trigger.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the trigger."
+ },
+ "200": {
+ "description": "Successfully created or updated the trigger.",
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerPut": {
+ "$ref": "./examples/TriggerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Deletes the trigger on the gateway device.",
+ "operationId": "Triggers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the trigger."
+ },
+ "204": {
+ "description": "The trigger is already deleted."
+ },
+ "200": {
+ "description": "Successfully deleted the trigger."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerDelete": {
+ "$ref": "./examples/TriggerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateExtendedInformation": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets additional information for the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_UpdateExtendedInformation",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The patch object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Modify additional information.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetUpdateExtendedInfo": {
+ "$ref": "./examples/GetUpdateExtendedInfo.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.",
+ "operationId": "Devices_GetUpdateSummary",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update summary.",
+ "schema": {
+ "$ref": "#/definitions/UpdateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateSummaryGet": {
+ "$ref": "./examples/UpdateSummaryGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Uploads registration certificate for the device.",
+ "operationId": "Devices_UploadCertificate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The upload certificate request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UploadCertificateRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully uploaded the registration certificate.",
+ "schema": {
+ "$ref": "#/definitions/UploadCertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UploadCertificatePost": {
+ "$ref": "./examples/UploadCertificatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Gets all the users registered on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Users_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all users on the device.",
+ "schema": {
+ "$ref": "#/definitions/UserList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "UserGetAllInDevice": {
+ "$ref": "./examples/UserGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Gets the properties of the specified user.",
+ "operationId": "Users_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user details.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UserGet": {
+ "$ref": "./examples/UserGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Users_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "user",
+ "in": "body",
+ "description": "The user details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to create or update the user."
+ },
+ "200": {
+ "description": "Successfully created or updated the user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserPut": {
+ "$ref": "./examples/UserPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Deletes the user on a databox edge/gateway device.",
+ "operationId": "Users_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the user."
+ },
+ "204": {
+ "description": "The user is already deleted."
+ },
+ "200": {
+ "description": "Successfully deleted the user."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserDelete": {
+ "$ref": "./examples/UserDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Addon": {
+ "description": "Role Addon",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Addon type.",
+ "enum": [
+ "IotEdge",
+ "ArcForKubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AddonType",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "Addon type",
+ "$ref": "#/definitions/SystemData"
+ }
+ },
+ "discriminator": "kind"
+ },
+ "AddonList": {
+ "description": "Collection of all the Role addon on the Azure Stack Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Addon"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Address": {
+ "description": "The shipping address of the customer.",
+ "required": [
+ "country"
+ ],
+ "type": "object",
+ "properties": {
+ "addressLine1": {
+ "description": "The address line1.",
+ "type": "string"
+ },
+ "addressLine2": {
+ "description": "The address line2.",
+ "type": "string"
+ },
+ "addressLine3": {
+ "description": "The address line3.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "The postal code.",
+ "type": "string"
+ },
+ "city": {
+ "description": "The city name.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state name.",
+ "type": "string"
+ },
+ "country": {
+ "description": "The country name.",
+ "type": "string"
+ }
+ }
+ },
+ "Alert": {
+ "description": "Alert on the data box edge/gateway device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Alert generated in the resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/AlertProperties",
+ "description": "Properties of alert.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AlertErrorDetails": {
+ "description": "Error details for the alert.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "Error Message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "occurrences": {
+ "format": "int32",
+ "description": "Number of occurrences.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertList": {
+ "description": "Collection of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Alert"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertProperties": {
+ "description": "Properties of alert.",
+ "type": "object",
+ "properties": {
+ "title": {
+ "description": "Alert title.",
+ "type": "string",
+ "readOnly": true
+ },
+ "alertType": {
+ "description": "Alert type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "appearedAtDateTime": {
+ "format": "date-time",
+ "description": "UTC time when the alert appeared.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendation": {
+ "description": "Alert recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "severity": {
+ "description": "Severity of the alert.",
+ "enum": [
+ "Informational",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AlertSeverity",
+ "modelAsString": true
+ }
+ },
+ "errorDetails": {
+ "$ref": "#/definitions/AlertErrorDetails",
+ "description": "Error details of the alert.",
+ "readOnly": true
+ },
+ "detailedInformation": {
+ "description": "Alert details.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ArcAddon": {
+ "description": "Arc Addon.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Addon"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ArcAddonProperties",
+ "description": "Properties specific to Arc addon.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "ArcForKubernetes"
+ },
+ "ArcAddonProperties": {
+ "description": "Arc addon properties.",
+ "required": [
+ "subscriptionId",
+ "resourceGroupName",
+ "resourceName",
+ "resourceLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "subscriptionId": {
+ "description": "Arc resource subscription Id",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "Arc resource group name",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Arc resource Name",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Arc resource location",
+ "type": "string"
+ },
+ "version": {
+ "description": "Arc resource version",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostPlatform": {
+ "description": "Host OS supported by the Arc addon.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Addon Provisioning State",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddonState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ARMBaseModel": {
+ "description": "Represents the base class for all object models.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "AsymmetricEncryptedSecret": {
+ "description": "Represent the secrets intended for encryption with asymmetric key pair.",
+ "required": [
+ "value",
+ "encryptionAlgorithm"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value of the secret.",
+ "x-ms-secret": true,
+ "type": "string"
+ },
+ "encryptionCertThumbprint": {
+ "description": "Thumbprint certificate used to encrypt \\\"Value\\\". If the value is unencrypted, it will be null.",
+ "type": "string"
+ },
+ "encryptionAlgorithm": {
+ "description": "The algorithm used to encrypt \"Value\".",
+ "enum": [
+ "None",
+ "AES256",
+ "RSAES_PKCS1_v_1_5"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionAlgorithm",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Authentication": {
+ "description": "Authentication mechanism for IoT devices.",
+ "type": "object",
+ "properties": {
+ "symmetricKey": {
+ "$ref": "#/definitions/SymmetricKey",
+ "description": "Symmetric key for authentication."
+ }
+ }
+ },
+ "AzureContainerInfo": {
+ "description": "Azure container mapping of the endpoint.",
+ "required": [
+ "storageAccountCredentialId",
+ "containerName",
+ "dataFormat"
+ ],
+ "type": "object",
+ "properties": {
+ "storageAccountCredentialId": {
+ "description": "ID of the storage account credential used to access storage.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob).",
+ "type": "string"
+ },
+ "dataFormat": {
+ "description": "Storage format used for the file represented by the share.",
+ "enum": [
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BandwidthSchedule": {
+ "description": "The bandwidth schedule details.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Bandwidth object related to ASE resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/BandwidthScheduleProperties",
+ "description": "The properties of the bandwidth schedule.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "BandwidthScheduleProperties": {
+ "description": "The properties of the bandwidth schedule.",
+ "required": [
+ "start",
+ "stop",
+ "rateInMbps",
+ "days"
+ ],
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "The start time of the schedule in UTC.",
+ "type": "string"
+ },
+ "stop": {
+ "description": "The stop time of the schedule in UTC.",
+ "type": "string"
+ },
+ "rateInMbps": {
+ "format": "int32",
+ "description": "The bandwidth rate in Mbps.",
+ "type": "integer"
+ },
+ "days": {
+ "description": "The days of the week when this schedule is applicable.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "BandwidthSchedulesList": {
+ "description": "The collection of bandwidth schedules.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of bandwidth schedules.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClientAccessRight": {
+ "description": "The mapping between a particular client IP and the type of access client has on the NFS share.",
+ "required": [
+ "client",
+ "accessPermission"
+ ],
+ "type": "object",
+ "properties": {
+ "client": {
+ "description": "IP of the client.",
+ "type": "string"
+ },
+ "accessPermission": {
+ "description": "Type of access to be allowed for the client.",
+ "enum": [
+ "NoAccess",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClientPermissionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudEdgeManagementRole": {
+ "description": "CloudEdgeManagementRole role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CloudEdgeManagementRoleProperties",
+ "description": "Properties specific to CloudEdgeManagementRole role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "CloudEdgeManagement"
+ },
+ "CloudEdgeManagementRoleProperties": {
+ "description": "CloudEdgeManagement Role properties.",
+ "required": [
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "localManagementStatus": {
+ "description": "Local Edge Management Status",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ },
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfile",
+ "description": "Edge Profile of the resource",
+ "readOnly": true
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error details."
+ }
+ },
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "description": "An error response from the service.",
+ "properties": {
+ "code": {
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A message describing the error, intended to be suitable for display in a user interface.",
+ "type": "string"
+ },
+ "details": {
+ "description": "A list of additional details about the error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ }
+ },
+ "x-ms-external": true
+ },
+ "CniConfig": {
+ "description": "Cni configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Cni type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Cni version",
+ "type": "string",
+ "readOnly": true
+ },
+ "podSubnet": {
+ "description": "Pod Subnet",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceSubnet": {
+ "description": "Service subnet",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ComputeResource": {
+ "description": "Compute infrastructure Resource",
+ "required": [
+ "processorCount",
+ "memoryInGB"
+ ],
+ "type": "object",
+ "properties": {
+ "processorCount": {
+ "format": "int32",
+ "description": "Processor count",
+ "type": "integer"
+ },
+ "memoryInGB": {
+ "format": "int64",
+ "description": "Memory in GB",
+ "type": "integer"
+ }
+ }
+ },
+ "ContactDetails": {
+ "description": "Contains all the contact details of the customer.",
+ "required": [
+ "contactPerson",
+ "companyName",
+ "phone",
+ "emailList"
+ ],
+ "type": "object",
+ "properties": {
+ "contactPerson": {
+ "description": "The contact person name.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "The name of the company.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "The phone number.",
+ "type": "string"
+ },
+ "emailList": {
+ "description": "The email list.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Container": {
+ "description": "Represents a container on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Container in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ContainerProperties",
+ "description": "The container properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ContainerList": {
+ "description": "Collection of all the containers on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of containers.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Container"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ContainerProperties": {
+ "description": "The container properties.",
+ "required": [
+ "dataFormat"
+ ],
+ "type": "object",
+ "properties": {
+ "containerStatus": {
+ "description": "Current status of the container.",
+ "enum": [
+ "OK",
+ "Offline",
+ "Unknown",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerStatus",
+ "modelAsString": true
+ }
+ },
+ "dataFormat": {
+ "description": "DataFormat for Container",
+ "enum": [
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this container.",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "The UTC time when container got created.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevice": {
+ "description": "The Data Box Edge/Gateway device.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The list of tags that describe the device. These tags can be used to view and group this device (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU type."
+ },
+ "etag": {
+ "description": "The etag for the devices.",
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ },
+ "kind": {
+ "description": "The etag for the devices.",
+ "enum": [
+ "AzureDataBoxGateway",
+ "AzureStackEdge",
+ "AzureStackHub",
+ "AzureModularDataCentre"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DataBoxEdgeDeviceKind",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceProperties",
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfo": {
+ "description": "The extended Info of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoProperties",
+ "description": "The extended info properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfoPatch": {
+ "description": "The Data Box Edge/Gateway device extended info patch.",
+ "type": "object",
+ "properties": {
+ "clientSecretStoreId": {
+ "description": "The Key Vault ARM Id for client secrets",
+ "type": "string"
+ },
+ "clientSecretStoreUrl": {
+ "description": "The url to access the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyName": {
+ "description": "The name for Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyVersion": {
+ "description": "The version of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "syncStatus": {
+ "description": "For changing or to initiate the resync to key-vault set the status to KeyVaultSyncPending, rest of the status will not be applicable.",
+ "enum": [
+ "KeyVaultSynced",
+ "KeyVaultSyncFailed",
+ "KeyVaultNotConfigured",
+ "KeyVaultSyncPending",
+ "KeyVaultSyncing",
+ "KeyVaultNotSynced"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KeyVaultSyncStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfoProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device extended info.",
+ "type": "object",
+ "properties": {
+ "encryptionKeyThumbprint": {
+ "description": "The digital signature of encrypted certificate.",
+ "type": "string"
+ },
+ "encryptionKey": {
+ "description": "The public part of the encryption certificate. Client uses this to encrypt any secret.",
+ "type": "string"
+ },
+ "resourceKey": {
+ "description": "The Resource ID of the Resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientSecretStoreId": {
+ "description": "The Key Vault ARM Id for client secrets",
+ "type": "string"
+ },
+ "clientSecretStoreUrl": {
+ "description": "The url to access the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyName": {
+ "description": "The name of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyVersion": {
+ "description": "The version of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "keyVaultSyncStatus": {
+ "description": "Key vault sync status",
+ "enum": [
+ "KeyVaultSynced",
+ "KeyVaultSyncFailed",
+ "KeyVaultNotConfigured",
+ "KeyVaultSyncPending",
+ "KeyVaultSyncing",
+ "KeyVaultNotSynced"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KeyVaultSyncStatus",
+ "modelAsString": true
+ }
+ },
+ "deviceSecrets": {
+ "description": "Device secrets, will be returned only with ODataFilter $expand=deviceSecrets",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Secret"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceList": {
+ "description": "The collection of Data Box Edge/Gateway devices.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Data Box Edge/Gateway devices.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevicePatch": {
+ "description": "The Data Box Edge/Gateway device patch.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags attached to the Data Box Edge/Gateway resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ },
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDevicePropertiesPatch",
+ "description": "The properties associated with the Data Box Edge/Gateway resource",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": {
+ "description": "The status of the Data Box Edge/Gateway device.",
+ "enum": [
+ "ReadyToSetup",
+ "Online",
+ "Offline",
+ "NeedsAttention",
+ "Disconnected",
+ "PartiallyDisconnected",
+ "Maintenance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataBoxEdgeDeviceStatus",
+ "modelAsString": true
+ }
+ },
+ "serialNumber": {
+ "description": "The Serial Number of Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The Description of the Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modelDescription": {
+ "description": "The description of the Data Box Edge/Gateway device model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceType": {
+ "description": "The type of the Data Box Edge/Gateway device.",
+ "enum": [
+ "DataBoxEdgeDevice"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DeviceType",
+ "modelAsString": true
+ }
+ },
+ "friendlyName": {
+ "description": "The Data Box Edge/Gateway device name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "culture": {
+ "description": "The Data Box Edge/Gateway device culture.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceModel": {
+ "description": "The Data Box Edge/Gateway device model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceSoftwareVersion": {
+ "description": "The Data Box Edge/Gateway device software version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceLocalCapacity": {
+ "format": "int64",
+ "description": "The Data Box Edge/Gateway device local capacity in MB.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "timeZone": {
+ "description": "The Data Box Edge/Gateway device timezone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceHcsVersion": {
+ "description": "The device software version number of the device (eg: 1.2.18105.6).",
+ "type": "string",
+ "readOnly": true
+ },
+ "configuredRoleTypes": {
+ "description": "Type of compute roles configured.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "nodeCount": {
+ "format": "int32",
+ "description": "The number of nodes in the cluster.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resourceMoveDetails": {
+ "$ref": "#/definitions/ResourceMoveDetails",
+ "description": "The details of the move operation on this resource.",
+ "readOnly": true
+ },
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfile",
+ "description": "The details of Edge Profile for this resource",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevicePropertiesPatch": {
+ "description": "The Data Box Edge/Gateway device properties patch.",
+ "type": "object",
+ "properties": {
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfilePatch",
+ "description": "Edge Profile property of the Data Box Edge/Gateway device"
+ }
+ }
+ },
+ "DataBoxEdgeMoveRequest": {
+ "description": "Resource Move details",
+ "required": [
+ "targetResourceGroup",
+ "resources"
+ ],
+ "type": "object",
+ "properties": {
+ "targetResourceGroup": {
+ "description": "Target resource group ARMId",
+ "type": "string"
+ },
+ "resources": {
+ "description": "List of resources to be moved",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DataBoxEdgeSku": {
+ "description": "The Sku information.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Sku name.",
+ "enum": [
+ "Gateway",
+ "Edge",
+ "TEA_1Node",
+ "TEA_1Node_UPS",
+ "TEA_1Node_Heater",
+ "TEA_1Node_UPS_Heater",
+ "TEA_4Node_Heater",
+ "TEA_4Node_UPS_Heater",
+ "TMA",
+ "TDC",
+ "TCA_Small",
+ "GPU",
+ "TCA_Large",
+ "EdgeP_Base",
+ "EdgeP_High",
+ "EdgePR_Base",
+ "EdgePR_Base_UPS",
+ "EP2_64_1VPU_W",
+ "EP2_128_1T4_Mx1_W",
+ "EP2_256_2T4_W",
+ "EdgeMR_Mini",
+ "RCA_Small",
+ "RCA_Large",
+ "RDC",
+ "Management"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "kind": {
+ "description": "The Sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The Sku tier.",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "size": {
+ "description": "The Sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The Sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "Availability of the Sku for the region.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "The API versions in which Sku is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Availability of the Sku for the location/zone/site.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "signupOption": {
+ "description": "Sku can be signed up by customer or not.",
+ "enum": [
+ "None",
+ "Available"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuSignupOption",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "Availability of the Sku as preview/stable.",
+ "enum": [
+ "Stable",
+ "Preview"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuVersion",
+ "modelAsString": true
+ }
+ },
+ "availability": {
+ "description": "Links to the next set of results",
+ "enum": [
+ "Available",
+ "Unavailable"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuAvailability",
+ "modelAsString": true
+ }
+ },
+ "shipmentTypes": {
+ "description": "List of Shipment Types supported by this SKU",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "NotApplicable",
+ "ShippedToCustomer",
+ "SelfPickup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShipmentType",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeSkuList": {
+ "description": "List of SKU Information objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceType Sku",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DCAccessCode": {
+ "description": "DC Access code in the case of Self Managed Shipping.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DCAccessCodeProperties",
+ "description": "DCAccessCode properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DCAccessCodeProperties": {
+ "description": "DCAccessCode Properties.",
+ "type": "object",
+ "properties": {
+ "authCode": {
+ "description": "DCAccess Code for the Self Managed shipment.",
+ "type": "string"
+ }
+ }
+ },
+ "EdgeProfile": {
+ "description": "Details about Edge Profile for the resource",
+ "type": "object",
+ "properties": {
+ "subscription": {
+ "$ref": "#/definitions/EdgeProfileSubscription",
+ "description": "Edge Profile Subscription"
+ }
+ }
+ },
+ "EdgeProfilePatch": {
+ "description": "The Data Box Edge/Gateway Edge Profile patch.",
+ "type": "object",
+ "properties": {
+ "subscription": {
+ "$ref": "#/definitions/EdgeProfileSubscriptionPatch",
+ "description": "The Data Box Edge/Gateway Edge Profile Subscription patch"
+ }
+ }
+ },
+ "EdgeProfileSubscription": {
+ "description": "Subscription details for the Edge Profile",
+ "type": "object",
+ "properties": {
+ "registrationId": {
+ "description": "Edge Subscription Registration ID",
+ "type": "string"
+ },
+ "id": {
+ "description": "ARM ID of the subscription",
+ "type": "string"
+ },
+ "state": {
+ "enum": [
+ "Registered",
+ "Warned",
+ "Suspended",
+ "Deleted",
+ "Unregistered"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": true
+ }
+ },
+ "registrationDate": {
+ "type": "string"
+ },
+ "subscriptionId": {
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/SubscriptionProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "EdgeProfileSubscriptionPatch": {
+ "description": "The Data Box Edge/Gateway Edge Profile Subscription patch.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the subscription of the edge profile.",
+ "type": "string"
+ }
+ }
+ },
+ "EtcdInfo": {
+ "description": "Etcd configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Etcd type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Etcd version",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "FileEventTrigger": {
+ "description": "Trigger details.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Trigger"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FileTriggerProperties",
+ "description": "File trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "FileEvent"
+ },
+ "FileSourceInfo": {
+ "description": "File source details.",
+ "required": [
+ "shareId"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "File share ID.",
+ "type": "string"
+ }
+ }
+ },
+ "FileTriggerProperties": {
+ "description": "File trigger properties.",
+ "required": [
+ "sourceInfo",
+ "sinkInfo"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/FileSourceInfo",
+ "description": "File event source details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role sink info."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "maxLength": 192,
+ "type": "string"
+ }
+ }
+ },
+ "GenerateCertResponse": {
+ "description": "Used in activation key generation flow.",
+ "type": "object",
+ "properties": {
+ "publicKey": {
+ "description": "Gets or sets base64 encoded certificate raw data,\r\nthis is the public part needed to be uploaded to cert vault",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "Gets or sets base64 encoded private part of the certificate,\r\nneeded to form the activation key",
+ "x-ms-secret": true,
+ "type": "string"
+ },
+ "expiryTimeInUTC": {
+ "description": "Gets or sets expiry time in UTC",
+ "type": "string"
+ }
+ }
+ },
+ "ImageRepositoryCredential": {
+ "description": "Image repository credential.",
+ "required": [
+ "imageRepositoryUrl",
+ "userName"
+ ],
+ "type": "object",
+ "properties": {
+ "imageRepositoryUrl": {
+ "description": "Image repository url (e.g.: mcr.microsoft.com).",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Repository user name.",
+ "type": "string"
+ },
+ "password": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Repository user password."
+ }
+ }
+ },
+ "IoTAddon": {
+ "description": "IoT Addon.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Addon"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTAddonProperties",
+ "description": "Properties specific to IOT addon.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "IotEdge"
+ },
+ "IoTAddonProperties": {
+ "description": "IoT addon properties.",
+ "required": [
+ "ioTDeviceDetails",
+ "ioTEdgeDeviceDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "ioTDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT device metadata to which appliance needs to be connected."
+ },
+ "ioTEdgeDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT edge device to which the IoT Addon needs to be configured."
+ },
+ "version": {
+ "description": "Version of IoT running on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostPlatform": {
+ "description": "Host OS supported by the IoT addon.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Addon Provisioning State",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddonState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "IoTDeviceInfo": {
+ "description": "Metadata of IoT device/IoT Edge device to be configured.",
+ "required": [
+ "deviceId",
+ "ioTHostHub"
+ ],
+ "type": "object",
+ "properties": {
+ "deviceId": {
+ "description": "ID of the IoT device/edge device.",
+ "type": "string"
+ },
+ "ioTHostHub": {
+ "description": "Host name for the IoT hub associated to the device.",
+ "type": "string"
+ },
+ "ioTHostHubId": {
+ "description": "Id for the IoT hub associated to the device.",
+ "type": "string"
+ },
+ "authentication": {
+ "$ref": "#/definitions/Authentication",
+ "description": "Encrypted IoT device/IoT edge device connection string."
+ }
+ }
+ },
+ "IoTEdgeAgentInfo": {
+ "description": "IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified.",
+ "required": [
+ "imageName",
+ "tag"
+ ],
+ "type": "object",
+ "properties": {
+ "imageName": {
+ "description": "Name of the IoT edge agent image.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "Image Tag.",
+ "type": "string"
+ },
+ "imageRepository": {
+ "$ref": "#/definitions/ImageRepositoryCredential",
+ "description": "Image repository details."
+ }
+ }
+ },
+ "IoTRole": {
+ "description": "Compute role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTRoleProperties",
+ "description": "Properties specific to IoT role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "IOT"
+ },
+ "IoTRoleProperties": {
+ "description": "IoT role properties.",
+ "required": [
+ "hostPlatform",
+ "ioTDeviceDetails",
+ "ioTEdgeDeviceDetails",
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "hostPlatform": {
+ "description": "Host OS supported by the IoT role.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "ioTDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT device metadata to which data box edge device needs to be connected."
+ },
+ "ioTEdgeDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT edge device to which the IoT role needs to be configured."
+ },
+ "shareMappings": {
+ "description": "Mount points of shares in role(s).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ }
+ },
+ "ioTEdgeAgentInfo": {
+ "$ref": "#/definitions/IoTEdgeAgentInfo",
+ "description": "Iot edge agent details to download the agent and bootstrap iot runtime."
+ },
+ "hostPlatformType": {
+ "description": "Platform where the Iot runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "computeResource": {
+ "$ref": "#/definitions/ComputeResource",
+ "description": "Resource allocation"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Ipv4Config": {
+ "description": "Details related to the IPv4 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv4 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subnet": {
+ "description": "The IPv4 subnet of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv4 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Ipv6Config": {
+ "description": "Details related to the IPv6 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv6 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "prefixLength": {
+ "format": "int32",
+ "description": "The IPv6 prefix of the network adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv6 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Job": {
+ "description": "A device job.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The current status of the job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job completed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "The percentage of the job that is complete.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/JobErrorDetails",
+ "description": "The error details.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "The properties of the job.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "JobErrorDetails": {
+ "description": "The job error information containing the list of job errors.",
+ "type": "object",
+ "properties": {
+ "errorDetails": {
+ "description": "The error details.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorItem"
+ },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobErrorItem": {
+ "description": "The job error items.",
+ "type": "object",
+ "properties": {
+ "recommendations": {
+ "description": "The recommended actions.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobProperties": {
+ "description": "The properties for the job.",
+ "type": "object",
+ "properties": {
+ "jobType": {
+ "description": "The type of the job.",
+ "enum": [
+ "Invalid",
+ "ScanForUpdates",
+ "DownloadUpdates",
+ "InstallUpdates",
+ "RefreshShare",
+ "RefreshContainer",
+ "Backup",
+ "Restore",
+ "TriggerSupportPackage"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "currentStage": {
+ "description": "Current stage of the update operation.",
+ "enum": [
+ "Unknown",
+ "Initial",
+ "ScanStarted",
+ "ScanComplete",
+ "ScanFailed",
+ "DownloadStarted",
+ "DownloadComplete",
+ "DownloadFailed",
+ "InstallStarted",
+ "InstallComplete",
+ "InstallFailed",
+ "RebootInitiated",
+ "Success",
+ "Failure",
+ "RescanStarted",
+ "RescanComplete",
+ "RescanFailed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperationStage",
+ "modelAsString": true
+ }
+ },
+ "downloadProgress": {
+ "$ref": "#/definitions/UpdateDownloadProgress",
+ "description": "The download progress.",
+ "readOnly": true
+ },
+ "installProgress": {
+ "$ref": "#/definitions/UpdateInstallProgress",
+ "description": "The install progress.",
+ "readOnly": true
+ },
+ "totalRefreshErrors": {
+ "format": "int32",
+ "description": "Total number of errors encountered during the refresh process.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "errorManifestFile": {
+ "description": "Local share/remote container relative path to the error manifest file of the refresh.",
+ "type": "string",
+ "readOnly": true
+ },
+ "refreshedEntityId": {
+ "description": "ARM ID of the entity that was refreshed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "folder": {
+ "description": "If only subfolders need to be refreshed, then the subfolder path inside the share or container. (The path is empty if there are no subfolders.)",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesClusterInfo": {
+ "description": "Kubernetes cluster configuration",
+ "required": [
+ "version"
+ ],
+ "type": "object",
+ "properties": {
+ "etcdInfo": {
+ "$ref": "#/definitions/EtcdInfo",
+ "description": "Etcd configuration",
+ "readOnly": true
+ },
+ "nodes": {
+ "description": "Kubernetes cluster nodes",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeInfo"
+ },
+ "readOnly": true
+ },
+ "version": {
+ "description": "Kubernetes cluster version",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesIPConfiguration": {
+ "description": "Kubernetes node IP configuration",
+ "type": "object",
+ "properties": {
+ "port": {
+ "description": "Port of the Kubernetes node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipAddress": {
+ "description": "IP address of the Kubernetes node.",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesRole": {
+ "description": "Kubernetes role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/KubernetesRoleProperties",
+ "description": "Properties specific to Kubernetes role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "Kubernetes"
+ },
+ "KubernetesRoleCompute": {
+ "description": "Kubernetes role compute resource",
+ "required": [
+ "vmProfile"
+ ],
+ "type": "object",
+ "properties": {
+ "vmProfile": {
+ "description": "VM profile",
+ "type": "string"
+ },
+ "memoryInBytes": {
+ "format": "int64",
+ "description": "Memory in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "processorCount": {
+ "format": "int32",
+ "description": "Processor count",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleNetwork": {
+ "description": "Kubernetes role network resource",
+ "type": "object",
+ "properties": {
+ "cniConfig": {
+ "$ref": "#/definitions/CniConfig",
+ "description": "Cni configuration",
+ "readOnly": true
+ },
+ "loadBalancerConfig": {
+ "$ref": "#/definitions/LoadBalancerConfig",
+ "description": "Load balancer configuration",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleProperties": {
+ "description": "Kubernetes role properties.",
+ "required": [
+ "hostPlatform",
+ "kubernetesClusterInfo",
+ "kubernetesRoleResources",
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "hostPlatform": {
+ "description": "Host OS supported by the Kubernetes role.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "State of Kubernetes deployment",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "KubernetesState",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "kubernetesClusterInfo": {
+ "$ref": "#/definitions/KubernetesClusterInfo",
+ "description": "Kubernetes cluster configuration"
+ },
+ "kubernetesRoleResources": {
+ "$ref": "#/definitions/KubernetesRoleResources",
+ "description": "Kubernetes role resources"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "KubernetesRoleResources": {
+ "description": "Kubernetes role resources",
+ "required": [
+ "compute"
+ ],
+ "type": "object",
+ "properties": {
+ "storage": {
+ "$ref": "#/definitions/KubernetesRoleStorage",
+ "description": "Kubernetes role storage resource"
+ },
+ "compute": {
+ "$ref": "#/definitions/KubernetesRoleCompute",
+ "description": "Kubernetes role compute resource"
+ },
+ "network": {
+ "$ref": "#/definitions/KubernetesRoleNetwork",
+ "description": "Kubernetes role network resource",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleStorage": {
+ "description": "Kubernetes role storage resource",
+ "type": "object",
+ "properties": {
+ "storageClasses": {
+ "description": "Kubernetes storage class info.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KubernetesRoleStorageClassInfo"
+ },
+ "readOnly": true
+ },
+ "endpoints": {
+ "description": "Mount points of shares in role(s).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ }
+ }
+ }
+ },
+ "KubernetesRoleStorageClassInfo": {
+ "description": "Kubernetes storage class info.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Storage class name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Storage class type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "posixCompliant": {
+ "description": "If provisioned storage is posix compliant.",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PosixComplianceStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "LoadBalancerConfig": {
+ "description": "Load balancer configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Load balancer type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Load balancer version",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MECRole": {
+ "description": "MEC role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MECRoleProperties",
+ "description": "Properties specific to MEC role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "MEC"
+ },
+ "MECRoleProperties": {
+ "description": "MEC role properties.",
+ "required": [
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Activation key of the MEC."
+ },
+ "controllerEndpoint": {
+ "description": "Controller Endpoint.",
+ "type": "string"
+ },
+ "resourceUniqueId": {
+ "description": "Unique Id of the Resource.",
+ "type": "string"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "MetricConfiguration": {
+ "description": "Metric configuration.",
+ "required": [
+ "resourceId",
+ "counterSets"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Resource ID on which the metrics should be pushed.",
+ "type": "string"
+ },
+ "mdmAccount": {
+ "description": "The MDM account to which the counters should be pushed.",
+ "type": "string"
+ },
+ "metricNameSpace": {
+ "description": "The MDM namespace to which the counters should be pushed. This is required if MDMAccount is specified",
+ "type": "string"
+ },
+ "counterSets": {
+ "description": "Host name for the IoT hub associated to the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricCounterSet"
+ }
+ }
+ }
+ },
+ "MetricCounter": {
+ "description": "The metric counter",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The counter name.",
+ "type": "string"
+ },
+ "instance": {
+ "description": "The instance from which counter should be collected.",
+ "type": "string"
+ },
+ "dimensionFilter": {
+ "description": "The dimension filter.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ },
+ "additionalDimensions": {
+ "description": "The additional dimensions to be added to metric.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ }
+ }
+ },
+ "MetricCounterSet": {
+ "description": "The metric counter set",
+ "required": [
+ "counters"
+ ],
+ "type": "object",
+ "properties": {
+ "counters": {
+ "description": "The counters that should be collected in this set.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricCounter"
+ }
+ }
+ }
+ },
+ "MetricDimension": {
+ "description": "The metric dimension",
+ "required": [
+ "sourceType",
+ "sourceName"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceType": {
+ "description": "The dimension type.",
+ "type": "string"
+ },
+ "sourceName": {
+ "description": "The dimension value.",
+ "type": "string"
+ }
+ }
+ },
+ "MetricDimension_V1": {
+ "description": "Metric Dimension v1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metrics dimension.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metrics dimension.",
+ "type": "string"
+ },
+ "toBeExportedForShoebox": {
+ "description": "To be exported to shoe box.",
+ "type": "boolean"
+ }
+ }
+ },
+ "MetricSpecification_V1": {
+ "description": "Metric specification version 1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metric.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metric.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Description of the metric to be displayed.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Metric units.",
+ "enum": [
+ "NotSpecified",
+ "Percent",
+ "Count",
+ "Seconds",
+ "Milliseconds",
+ "Bytes",
+ "BytesPerSecond",
+ "CountPerSecond"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricUnit",
+ "modelAsString": true
+ }
+ },
+ "aggregationType": {
+ "description": "Metric aggregation type.",
+ "enum": [
+ "NotSpecified",
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ },
+ "dimensions": {
+ "description": "Metric dimensions, other than default dimension which is resource.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension_V1"
+ }
+ },
+ "fillGapWithZero": {
+ "description": "Set true to fill the gaps with zero.",
+ "type": "boolean"
+ },
+ "category": {
+ "description": "Metric category.",
+ "enum": [
+ "Capacity",
+ "Transaction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricCategory",
+ "modelAsString": true
+ }
+ },
+ "resourceIdDimensionNameOverride": {
+ "description": "Resource name override.",
+ "type": "string"
+ },
+ "supportedTimeGrainTypes": {
+ "description": "Support granularity of metrics.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "PT1M",
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "PT1D"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TimeGrain",
+ "modelAsString": true
+ }
+ }
+ },
+ "supportedAggregationTypes": {
+ "description": "Support metric aggregation type.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "NotSpecified",
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "MonitoringMetricConfiguration": {
+ "description": "The metric setting details for the role",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "MonitoringConfiguration on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/MonitoringMetricConfigurationProperties",
+ "description": "The metric setting properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "MonitoringMetricConfigurationList": {
+ "description": "Collection of metric configurations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of metric configurations.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MonitoringMetricConfigurationProperties": {
+ "description": "Metrics properties",
+ "required": [
+ "metricConfigurations"
+ ],
+ "type": "object",
+ "properties": {
+ "metricConfigurations": {
+ "description": "The metrics configuration details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricConfiguration"
+ }
+ }
+ }
+ },
+ "MountPointMap": {
+ "description": "The share mount point.",
+ "required": [
+ "shareId"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "ID of the share mounted to the role VM.",
+ "type": "string"
+ },
+ "roleId": {
+ "description": "ID of the role to which share is mounted.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountPoint": {
+ "description": "Mount point for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountType": {
+ "description": "Mounting type.",
+ "enum": [
+ "Volume",
+ "HostPath"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MountType",
+ "modelAsString": true
+ }
+ },
+ "roleType": {
+ "description": "Role type.",
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NetworkAdapter": {
+ "description": "Represents the networkAdapter on a device.",
+ "type": "object",
+ "properties": {
+ "adapterId": {
+ "description": "Instance ID of network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "adapterPosition": {
+ "$ref": "#/definitions/NetworkAdapterPosition",
+ "description": "Hardware position of network adapter.",
+ "readOnly": true
+ },
+ "index": {
+ "format": "int32",
+ "description": "Logical index of the adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "nodeId": {
+ "description": "Node ID of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkAdapterName": {
+ "description": "Network adapter name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "Hardware label for the adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "macAddress": {
+ "description": "MAC address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "linkSpeed": {
+ "format": "int64",
+ "description": "Link speed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Value indicating whether this adapter is valid.",
+ "enum": [
+ "Inactive",
+ "Active"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkAdapterStatus",
+ "modelAsString": true
+ }
+ },
+ "rdmaStatus": {
+ "description": "Value indicating whether this adapter is RDMA capable.",
+ "enum": [
+ "Incapable",
+ "Capable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterRDMAStatus",
+ "modelAsString": true
+ }
+ },
+ "dhcpStatus": {
+ "description": "Value indicating whether this adapter has DHCP enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterDHCPStatus",
+ "modelAsString": true
+ }
+ },
+ "ipv4Configuration": {
+ "$ref": "#/definitions/Ipv4Config",
+ "description": "The IPv4 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6Configuration": {
+ "$ref": "#/definitions/Ipv6Config",
+ "description": "The IPv6 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6LinkLocalAddress": {
+ "description": "The IPv6 local address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dnsServers": {
+ "description": "The list of DNS Servers of the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkAdapterPosition": {
+ "description": "The network adapter position.",
+ "type": "object",
+ "properties": {
+ "networkGroup": {
+ "description": "The network group.",
+ "enum": [
+ "None",
+ "NonRDMA",
+ "RDMA"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkGroup",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkSettings": {
+ "description": "The network settings of a device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "NetworkSettings on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/NetworkSettingsProperties",
+ "description": "The properties of network settings of a device.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NetworkSettingsProperties": {
+ "description": "The properties of network settings.",
+ "type": "object",
+ "properties": {
+ "networkAdapters": {
+ "description": "The network adapter list on the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkAdapter"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Node": {
+ "description": "Represents a single node in a Data box Edge/Gateway device\r\nGateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node\r\nMulti-node Edge devices will have more than 1 nodes",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NodeProperties",
+ "description": "The properties of the node",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NodeInfo": {
+ "description": "Kubernetes node info",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Node name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Node type - Master/Worker",
+ "enum": [
+ "Invalid",
+ "Master",
+ "Worker"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "KubernetesNodeType",
+ "modelAsString": true
+ }
+ },
+ "ipConfiguration": {
+ "description": "IP Configuration of the Kubernetes node.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KubernetesIPConfiguration"
+ }
+ }
+ }
+ },
+ "NodeList": {
+ "description": "Collection of Nodes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Nodes.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Node"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "NodeProperties": {
+ "description": "This class represents the nodes in a highly available cluster",
+ "type": "object",
+ "properties": {
+ "nodeStatus": {
+ "description": "The current status of the individual node",
+ "enum": [
+ "Unknown",
+ "Up",
+ "Down",
+ "Rebooting",
+ "ShuttingDown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true
+ }
+ },
+ "nodeChassisSerialNumber": {
+ "description": "Serial number of the Chassis",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeSerialNumber": {
+ "description": "Serial number of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeDisplayName": {
+ "description": "Display Name of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeFriendlySoftwareVersion": {
+ "description": "Friendly software version name that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeHcsVersion": {
+ "description": "HCS version that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeInstanceId": {
+ "description": "Guid instance id of the node",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operations.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Properties displayed for the operation."
+ },
+ "origin": {
+ "description": "Origin of the operation.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display properties.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The type of resource in which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to be performed on the resource.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation to be performed.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "Service specification."
+ }
+ }
+ },
+ "OperationsList": {
+ "description": "The list of operations used for the discovery of available provider operations.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "Order": {
+ "description": "The order details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Order configured on ASE resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/OrderProperties",
+ "description": "The order properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OrderList": {
+ "description": "List of order entities.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of orders.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Order"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OrderProperties": {
+ "description": "Order properties.",
+ "required": [
+ "contactInformation"
+ ],
+ "type": "object",
+ "properties": {
+ "contactInformation": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "The contact details."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/Address",
+ "description": "The shipping address."
+ },
+ "currentStatus": {
+ "$ref": "#/definitions/OrderStatus",
+ "description": "Current status of the order.",
+ "readOnly": true
+ },
+ "orderHistory": {
+ "description": "List of status changes in the order.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrderStatus"
+ },
+ "readOnly": true
+ },
+ "serialNumber": {
+ "description": "Serial number of the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deliveryTrackingInfo": {
+ "description": "Tracking information for the package delivered to the customer whether it has an original or a replacement device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackingInfo"
+ },
+ "readOnly": true
+ },
+ "returnTrackingInfo": {
+ "description": "Tracking information for the package returned from the customer whether it has an original or a replacement device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackingInfo"
+ },
+ "readOnly": true
+ },
+ "shipmentType": {
+ "description": "ShipmentType of the order",
+ "enum": [
+ "NotApplicable",
+ "ShippedToCustomer",
+ "SelfPickup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShipmentType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "OrderStatus": {
+ "description": "Represents a single status change.",
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the order as per the allowed status types.",
+ "enum": [
+ "Untracked",
+ "AwaitingFulfillment",
+ "AwaitingPreparation",
+ "AwaitingShipment",
+ "Shipped",
+ "Arriving",
+ "Delivered",
+ "ReplacementRequested",
+ "LostDevice",
+ "Declined",
+ "ReturnInitiated",
+ "AwaitingReturnShipment",
+ "ShippedBack",
+ "CollectedAtMicrosoft",
+ "AwaitingPickup",
+ "PickupCompleted",
+ "AwaitingDrop"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OrderState",
+ "modelAsString": true
+ }
+ },
+ "updateDateTime": {
+ "format": "date-time",
+ "description": "Time of status update.",
+ "type": "string",
+ "readOnly": true
+ },
+ "comments": {
+ "description": "Comments related to this status change.",
+ "type": "string"
+ },
+ "trackingInformation": {
+ "$ref": "#/definitions/TrackingInfo",
+ "description": "Tracking information related to the state in the ordering flow",
+ "readOnly": true
+ },
+ "additionalOrderDetails": {
+ "description": "Dictionary to hold generic information which is not stored\r\nby the already existing properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PeriodicTimerEventTrigger": {
+ "description": "Trigger details.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Trigger"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeriodicTimerProperties",
+ "description": "Periodic timer trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "PeriodicTimerEvent"
+ },
+ "PeriodicTimerProperties": {
+ "description": "Periodic timer trigger properties.",
+ "required": [
+ "sourceInfo",
+ "sinkInfo"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/PeriodicTimerSourceInfo",
+ "description": "Periodic timer details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role Sink information."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "maxLength": 192,
+ "type": "string"
+ }
+ }
+ },
+ "PeriodicTimerSourceInfo": {
+ "description": "Periodic timer event source.",
+ "required": [
+ "startTime",
+ "schedule"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time.",
+ "type": "string"
+ },
+ "schedule": {
+ "description": "Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds.",
+ "type": "string"
+ },
+ "topic": {
+ "description": "Topic where periodic events are published to IoT device.",
+ "type": "string"
+ }
+ }
+ },
+ "RawCertificateData": {
+ "description": "Raw Certificate Data.",
+ "required": [
+ "certificate"
+ ],
+ "type": "object",
+ "properties": {
+ "authenticationType": {
+ "description": "The authentication type.",
+ "enum": [
+ "Invalid",
+ "AzureActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "certificate": {
+ "description": "The base64 encoded certificate raw data.",
+ "type": "string"
+ }
+ }
+ },
+ "RefreshDetails": {
+ "description": "Fields for tracking refresh job on the share or container.",
+ "type": "object",
+ "properties": {
+ "inProgressRefreshJobId": {
+ "description": "If a refresh job is currently in progress on this share or container, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress.",
+ "type": "string"
+ },
+ "lastCompletedRefreshJobTimeInUTC": {
+ "format": "date-time",
+ "description": "Indicates the completed time for the last refresh job on this particular share or container, if any.This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "errorManifestFile": {
+ "description": "Indicates the relative path of the error xml for the last refresh job on this particular share or container, if any. This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "lastJob": {
+ "description": "Indicates the id of the last refresh job on this particular share or container,if any. This could be a failed job or a successful job.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceIdentity": {
+ "description": "Msi identity details of the resource",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Identity type",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MsiIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "description": "Service Principal Id backing the Msi",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Home Tenant Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceMoveDetails": {
+ "description": "Fields for tracking resource move",
+ "type": "object",
+ "properties": {
+ "operationInProgress": {
+ "description": "Denotes whether move operation is in progress",
+ "enum": [
+ "None",
+ "ResourceMoveInProgress",
+ "ResourceMoveFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceMoveStatus",
+ "modelAsString": true
+ }
+ },
+ "operationInProgressLockTimeoutInUTC": {
+ "format": "date-time",
+ "description": "Denotes the timeout of the operation to finish",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceTypeSku": {
+ "description": "Resource type Sku object",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skus": {
+ "description": "The skus.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuInformation"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Role": {
+ "description": "Compute role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Role type.",
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "Role configured on ASE resource",
+ "$ref": "#/definitions/SystemData"
+ }
+ },
+ "discriminator": "kind"
+ },
+ "RoleList": {
+ "description": "Collection of all the roles on the Data Box Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RoleSinkInfo": {
+ "description": "Compute role against which events will be raised.",
+ "required": [
+ "roleId"
+ ],
+ "type": "object",
+ "properties": {
+ "roleId": {
+ "description": "Compute role ID.",
+ "type": "string"
+ }
+ }
+ },
+ "Secret": {
+ "description": "Holds device secret either as a KeyVault reference or as an encrypted value.",
+ "type": "object",
+ "properties": {
+ "encryptedSecret": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted (using device public key) secret value."
+ },
+ "keyVaultId": {
+ "description": "Id of the Key-Vault where secret is stored (ex: secrets/AuthClientSecret/82ef4346187a4033a10d629cde07d740).",
+ "type": "string"
+ }
+ }
+ },
+ "SecuritySettings": {
+ "description": "The security settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecuritySettingsProperties",
+ "description": "Properties of the security settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SecuritySettingsProperties": {
+ "description": "The properties of security settings.",
+ "required": [
+ "deviceAdminPassword"
+ ],
+ "type": "object",
+ "properties": {
+ "deviceAdminPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specification as defined by shoebox.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification_V1"
+ }
+ }
+ }
+ },
+ "Share": {
+ "description": "Represents a share on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Share on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ShareProperties",
+ "description": "The share properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ShareAccessRight": {
+ "description": "Specifies the mapping between this particular user and the type of access he has on shares on this device.",
+ "required": [
+ "shareId",
+ "accessType"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "The share ID.",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed on the share for this user.",
+ "enum": [
+ "Change",
+ "Read",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ShareList": {
+ "description": "Collection of all the shares on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shares.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Share"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ShareProperties": {
+ "description": "The share properties.",
+ "required": [
+ "shareStatus",
+ "monitoringStatus",
+ "accessProtocol"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the share.",
+ "type": "string"
+ },
+ "shareStatus": {
+ "description": "Current status of the share.",
+ "enum": [
+ "Offline",
+ "Unknown",
+ "OK",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareStatus",
+ "modelAsString": true
+ }
+ },
+ "monitoringStatus": {
+ "description": "Current monitoring status of the share.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonitoringStatus",
+ "modelAsString": true
+ }
+ },
+ "azureContainerInfo": {
+ "$ref": "#/definitions/AzureContainerInfo",
+ "description": "Azure container mapping for the share."
+ },
+ "accessProtocol": {
+ "description": "Access protocol to be used by the share.",
+ "enum": [
+ "SMB",
+ "NFS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessProtocol",
+ "modelAsString": true
+ }
+ },
+ "userAccessRights": {
+ "description": "Mapping of users and corresponding access rights on the share (required for SMB protocol).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccessRight"
+ }
+ },
+ "clientAccessRights": {
+ "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientAccessRight"
+ }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this share."
+ },
+ "shareMappings": {
+ "description": "Share mount point to the role.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ },
+ "readOnly": true
+ },
+ "dataPolicy": {
+ "description": "Data policy of the share.",
+ "enum": [
+ "Cloud",
+ "Local"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Sku": {
+ "description": "The SKU type.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "enum": [
+ "Gateway",
+ "Edge",
+ "TEA_1Node",
+ "TEA_1Node_UPS",
+ "TEA_1Node_Heater",
+ "TEA_1Node_UPS_Heater",
+ "TEA_4Node_Heater",
+ "TEA_4Node_UPS_Heater",
+ "TMA",
+ "TDC",
+ "TCA_Small",
+ "GPU",
+ "TCA_Large",
+ "EdgeP_Base",
+ "EdgeP_High",
+ "EdgePR_Base",
+ "EdgePR_Base_UPS",
+ "EP2_64_1VPU_W",
+ "EP2_128_1T4_Mx1_W",
+ "EP2_256_2T4_W",
+ "EdgeMR_Mini",
+ "RCA_Small",
+ "RCA_Large",
+ "RDC",
+ "Management"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The SKU tier. This is based on the SKU name.",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "The metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Used for querying price from commerce.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "format": "int64",
+ "description": "The cost quantity.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "extendedUnit": {
+ "description": "The extended unit.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Sku information",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The sku tier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "description": "The sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The Sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The locations where Sku is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "The locations where Sku is available with zones and sites info",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "requiredQuotaIds": {
+ "description": "The required quotaIds for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredFeatures": {
+ "description": "The required features for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformationList": {
+ "description": "List of SKU Information objects",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceTypeSku objects",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceTypeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfo": {
+ "description": "The location info.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "zones": {
+ "description": "The zones.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "sites": {
+ "description": "The sites.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccount": {
+ "description": "Represents a Storage Account on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "StorageAccount object on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/StorageAccountProperties",
+ "description": "The Storage Account properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredential": {
+ "description": "The storage account credential.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "StorageAccountCredential object",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/StorageAccountCredentialProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredentialList": {
+ "description": "The collection of storage account credentials.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountCredentialProperties": {
+ "description": "The storage account credential properties.",
+ "required": [
+ "alias",
+ "sslStatus",
+ "accountType"
+ ],
+ "type": "object",
+ "properties": {
+ "alias": {
+ "description": "Alias for the storage account.",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Username for the storage account.",
+ "type": "string"
+ },
+ "accountKey": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted storage key."
+ },
+ "connectionString": {
+ "description": "Connection string for the storage account. Use this string if username and account key are not specified.",
+ "type": "string"
+ },
+ "sslStatus": {
+ "description": "Signifies whether SSL needs to be enabled or not.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SSLStatus",
+ "modelAsString": true
+ }
+ },
+ "blobDomainName": {
+ "description": "Blob end point for private clouds.",
+ "type": "string"
+ },
+ "accountType": {
+ "description": "Type of storage accessed on the storage account.",
+ "enum": [
+ "GeneralPurposeStorage",
+ "BlobStorage"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccountType",
+ "modelAsString": true
+ }
+ },
+ "storageAccountId": {
+ "description": "Id of the storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageAccountList": {
+ "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of storageAccounts.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccount"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountProperties": {
+ "description": "The storage account properties.",
+ "required": [
+ "dataPolicy"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the storage Account.",
+ "type": "string"
+ },
+ "storageAccountStatus": {
+ "description": "Current status of the storage account",
+ "enum": [
+ "OK",
+ "Offline",
+ "Unknown",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageAccountStatus",
+ "modelAsString": true
+ }
+ },
+ "dataPolicy": {
+ "description": "Data policy of the storage Account.",
+ "enum": [
+ "Cloud",
+ "Local"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ },
+ "storageAccountCredentialId": {
+ "description": "Storage Account Credential Id",
+ "type": "string"
+ },
+ "blobEndpoint": {
+ "description": "BlobEndpoint of Storage Account",
+ "type": "string",
+ "readOnly": true
+ },
+ "containerCount": {
+ "format": "int32",
+ "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "SubscriptionProperties": {
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string"
+ },
+ "locationPlacementId": {
+ "type": "string"
+ },
+ "quotaId": {
+ "type": "string"
+ },
+ "serializedDetails": {
+ "type": "string"
+ },
+ "registeredFeatures": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionRegisteredFeatures"
+ }
+ }
+ }
+ },
+ "SubscriptionRegisteredFeatures": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ }
+ }
+ },
+ "SymmetricKey": {
+ "description": "Symmetric key for authentication.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Connection string based on the symmetric key."
+ }
+ }
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "TrackingInfo": {
+ "description": "Tracking courier information.",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "Serial number of the device being tracked.",
+ "type": "string"
+ },
+ "carrierName": {
+ "description": "Name of the carrier used in the delivery.",
+ "type": "string"
+ },
+ "trackingId": {
+ "description": "Tracking ID of the shipment.",
+ "type": "string"
+ },
+ "trackingUrl": {
+ "description": "Tracking URL of the shipment.",
+ "type": "string"
+ }
+ }
+ },
+ "Trigger": {
+ "description": "Trigger details.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Trigger in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "kind": {
+ "description": "Trigger Kind.",
+ "enum": [
+ "FileEvent",
+ "PeriodicTimerEvent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TriggerEventType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "kind"
+ },
+ "TriggerList": {
+ "description": "Collection of all trigger on the data box edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of triggers.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Trigger"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateDetails": {
+ "description": "Update Specific attributes",
+ "type": "object",
+ "properties": {
+ "updateTitle": {
+ "description": "Title of the Update",
+ "type": "string"
+ },
+ "updateSize": {
+ "format": "double",
+ "description": "Size of the update(In Bytes)",
+ "type": "number"
+ },
+ "updateType": {
+ "description": "Type of the Update",
+ "enum": [
+ "Software",
+ "Kubernetes",
+ "Firmware"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateType",
+ "modelAsString": true
+ }
+ },
+ "targetVersion": {
+ "description": "Target Version number",
+ "type": "string"
+ },
+ "estimatedInstallTimeInMins": {
+ "format": "int32",
+ "description": "Estimated Install Time for the update",
+ "type": "integer"
+ },
+ "rebootBehavior": {
+ "description": "Indicates if updates are available and at least one of the updates needs a reboot.",
+ "enum": [
+ "NeverReboots",
+ "RequiresReboot",
+ "RequestReboot"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InstallRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "Status of the update.",
+ "enum": [
+ "DownloadPending",
+ "DownloadStarted",
+ "DownloadCompleted",
+ "InstallStarted",
+ "InstallCompleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UpdateDownloadProgress": {
+ "description": "Details about the download progress of update.",
+ "type": "object",
+ "properties": {
+ "downloadPhase": {
+ "description": "The download phase.",
+ "enum": [
+ "Unknown",
+ "Initializing",
+ "Downloading",
+ "Verifying"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DownloadPhase",
+ "modelAsString": true
+ }
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage of completion.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalBytesToDownload": {
+ "format": "double",
+ "description": "Total bytes to download.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalBytesDownloaded": {
+ "format": "double",
+ "description": "Total bytes downloaded.",
+ "type": "number",
+ "readOnly": true
+ },
+ "numberOfUpdatesToDownload": {
+ "format": "int32",
+ "description": "Number of updates to download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesDownloaded": {
+ "format": "int32",
+ "description": "Number of updates downloaded.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateInstallProgress": {
+ "description": "Progress details during installation of updates.",
+ "type": "object",
+ "properties": {
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage completed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesToInstall": {
+ "format": "int32",
+ "description": "Number of updates to install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesInstalled": {
+ "format": "int32",
+ "description": "Number of updates installed.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateSummary": {
+ "description": "Details about ongoing updates and availability of updates on the device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "UpdateSummary Result",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/UpdateSummaryProperties",
+ "description": "The device update information summary.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateSummaryProperties": {
+ "description": "The device update information summary.",
+ "type": "object",
+ "properties": {
+ "deviceVersionNumber": {
+ "description": "The current version of the device in format: 1.2.17312.13.\",",
+ "type": "string"
+ },
+ "friendlyDeviceVersionName": {
+ "description": "The current version of the device in text format.",
+ "type": "string"
+ },
+ "deviceLastScannedDateTime": {
+ "format": "date-time",
+ "description": "The last time when a scan was done on the device.",
+ "type": "string"
+ },
+ "lastCompletedScanJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last scan job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string"
+ },
+ "lastCompletedDownloadJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Download job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastCompletedDownloadJobId": {
+ "description": "JobId of the last ran download job.(Can be success/cancelled/failed)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastDownloadJobStatus": {
+ "description": "JobStatus of the last ran download job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "lastCompletedInstallJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastCompletedInstallJobId": {
+ "description": "JobId of the last ran install job.(Can be success/cancelled/failed)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastInstallJobStatus": {
+ "description": "JobStatus of the last ran install job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "totalNumberOfUpdatesAvailable": {
+ "format": "int32",
+ "description": "The number of updates available for the current device version as per the last device scan.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingDownload": {
+ "format": "int32",
+ "description": "The total number of items pending download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingInstall": {
+ "format": "int32",
+ "description": "The total number of items pending install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "rebootBehavior": {
+ "description": "Indicates if updates are available and at least one of the updates needs a reboot.",
+ "enum": [
+ "NeverReboots",
+ "RequiresReboot",
+ "RequestReboot"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "InstallRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "ongoingUpdateOperation": {
+ "description": "The current update operation.",
+ "enum": [
+ "None",
+ "Scan",
+ "Download",
+ "Install"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperation",
+ "modelAsString": true
+ }
+ },
+ "inProgressDownloadJobId": {
+ "description": "The job ID of the download job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobId": {
+ "description": "The job ID of the install job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressDownloadJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running download (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running install (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "updateTitles": {
+ "description": "The list of updates available for install.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "updates": {
+ "description": "The list of updates available for install.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateDetails"
+ },
+ "readOnly": true
+ },
+ "totalUpdateSizeInBytes": {
+ "format": "double",
+ "description": "The total size of updates available for download in bytes.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalTimeInMinutes": {
+ "format": "int32",
+ "description": "The total time in Minutes",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UploadCertificateRequest": {
+ "description": "The upload certificate request.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RawCertificateData",
+ "description": "The Base 64 encoded certificate raw data.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UploadCertificateResponse": {
+ "description": "The upload registration certificate response.",
+ "type": "object",
+ "properties": {
+ "authType": {
+ "description": "Specifies authentication type.",
+ "enum": [
+ "Invalid",
+ "AzureActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "The resource ID of the Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadAuthority": {
+ "description": "Azure Active Directory tenant authority.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadTenantId": {
+ "description": "Azure Active Directory tenant ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalClientId": {
+ "description": "Azure Active Directory service principal client ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalObjectId": {
+ "description": "Azure Active Directory service principal object ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureManagementEndpointAudience": {
+ "description": "The azure management endpoint audience.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadAudience": {
+ "description": "Identifier of the target resource that is the recipient of the requested token.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "User": {
+ "description": "Represents a user who has access to one or more shares on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "User in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/UserProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UserAccessRight": {
+ "description": "The mapping between a particular user and the access type on the SMB share.",
+ "required": [
+ "userId",
+ "accessType"
+ ],
+ "type": "object",
+ "properties": {
+ "userId": {
+ "description": "User ID (already existing in the device).",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed for the user.",
+ "enum": [
+ "Change",
+ "Read",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserList": {
+ "description": "Collection of users.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of users.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/User"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserProperties": {
+ "description": "The user properties.",
+ "type": "object",
+ "properties": {
+ "encryptedPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "The password details."
+ },
+ "shareAccessRights": {
+ "description": "List of shares that the user has rights on. This field should not be specified during user creation.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareAccessRight"
+ },
+ "readOnly": true
+ },
+ "userType": {
+ "description": "Type of the user.",
+ "enum": [
+ "Share",
+ "LocalManagement",
+ "ARM"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UserType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version.",
+ "required": true,
+ "type": "string"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "The location of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The resource group name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/AlertGet.json
new file mode 100644
index 000000000000..ad6804fbc72c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/AlertGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/AlertGetAllInDevice.json
new file mode 100644
index 000000000000..c5de56bbfbac
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/AlertGetAllInDevice.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "title": "Device password has changed",
+ "alertType": "PasswordChangedEvent",
+ "appearedAtDateTime": "2018-12-18T02:29:15.2325577Z",
+ "recommendation": "The device administrator password has changed. This is a required action as part of the first time device setup or regular password reset. No further action is required.",
+ "severity": "Informational",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 2
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "name": "83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "type": "dataBoxEdgeDevices/alerts"
+ },
+ {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/AvailableSkusList.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/AvailableSkusList.json
new file mode 100644
index 000000000000..509bd4eaa69e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/AvailableSkusList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "location": "westus",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "dataBoxEdgeDevices",
+ "name": "Gateway",
+ "availability": "Available",
+ "tier": "Standard",
+ "kind": "AzureDataBoxGateway",
+ "version": "Stable",
+ "signupOption": "Available",
+ "locations": [
+ "West US"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthScheduleDelete.json
new file mode 100644
index 000000000000..6da061a63c4b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthScheduleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthScheduleGet.json
new file mode 100644
index 000000000000..a87bdde98dad
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthScheduleGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthScheduleGetAllInDevice.json
new file mode 100644
index 000000000000..1988363f683f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthScheduleGetAllInDevice.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthSchedulePut.json
new file mode 100644
index 000000000000..1a22a0b276d0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/BandwidthSchedulePut.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "start": "0:0:0",
+ "stop": "13:59:0",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerDelete.json
new file mode 100644
index 000000000000..1855c8929835
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerGet.json
new file mode 100644
index 000000000000..dfe8d1d88a49
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerListAllInDevice.json
new file mode 100644
index 000000000000..463a5c00995b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerListAllInDevice.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:14:32.3016929Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:15:38.0077675Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer2",
+ "name": "blobcontainer2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer3",
+ "name": "blobcontainer3",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerPut.json
new file mode 100644
index 000000000000..4dd7a40dfbfe
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerPut.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "container": {
+ "properties": {
+ "dataFormat": "BlockBlob"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer-5e155efe",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerRefresh.json
new file mode 100644
index 000000000000..7cd7fa839a45
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ContainerRefresh.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceDelete.json
new file mode 100644
index 000000000000..d491dfdb63d2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceGetByName.json
new file mode 100644
index 000000000000..d7cc7a3a6256
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceGetByName.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "Offline",
+ "serialNumber": "1D6QHQ2",
+ "deviceType": "DataBoxEdgeDevice",
+ "friendlyName": "DBE-1D6QHQ2",
+ "deviceModel": "Physical",
+ "deviceSoftwareVersion": "Azure Stack Edge 2009",
+ "deviceLocalCapacity": 8042259,
+ "timeZone": "Pacific Standard Time",
+ "deviceHcsVersion": "2.1.1361.23408",
+ "configuredRoleTypes": [
+ "CloudEdgeManagement"
+ ],
+ "nodeCount": 1,
+ "edgeProfile": {
+ "subscription": {
+ "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16",
+ "state": "Registered"
+ }
+ }
+ },
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource",
+ "name": "EdgeTestPassResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json
new file mode 100644
index 000000000000..31d6065a2e61
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource",
+ "name": "EdgeTestPassResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "centraluseuap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-18T23%3A31%3A30.3266766Z'\"_W/\"datetime'2020-11-18T23%3A31%3A30.3326804Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "d97a6de5-f5c0-485a-8f5e-b7f705d2dbc4",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/FPGAResource",
+ "name": "FPGAResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "centraluseuap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-18T23%3A31%3A23.1715672Z'\"_W/\"datetime'2020-11-18T23%3A31%3A23.2396152Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "6f2b341b-aded-4ec2-a1bd-d09438d6cc8f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/TestVMEdgeResource",
+ "name": "TestVMEdgeResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json
new file mode 100644
index 000000000000..1b414a1df37c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Gateway",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T01%3A39%3A55.1270082Z'\"_W/\"datetime'2020-11-19T01%3A39%3A55.1320118Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "083df009-06d9-4e3c-ae72-f9249a814334",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureDataBoxGateway",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/linksub01",
+ "name": "linksub01",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Gateway",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T01%3A40%3A05.9246966Z'\"_W/\"datetime'2020-11-19T01%3A40%3A05.9317011Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "8536db30-78d2-4759-95b7-896a66e14c24",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureDataBoxGateway",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest",
+ "name": "mergeazstest",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Gateway",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T01%3A40%3A06.496102Z'\"_W/\"datetime'2020-11-19T01%3A40%3A06.503107Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "fc4c1205-35c8-4f35-abc7-f5a78945f676",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureDataBoxGateway",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest2",
+ "name": "mergeazstest2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDevicePatch.json
new file mode 100644
index 000000000000..356a3f95b09b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDevicePatch.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "edgeProfile": {
+ "subscription": {
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/rapvs-rg/providers/Microsoft.AzureStack/linkedSubscriptions/ca014ddc-5cf2-45f8-b390-e901e4a0ae87"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T04%3A43%3A38.6457308Z'\"_W/\"datetime'2020-11-19T04%3A43%3A38.6507339Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0,
+ "timeZone": "Pacific Standard Time",
+ "nodeCount": 0,
+ "resourceMoveDetails": {
+ "operationInProgress": "None"
+ },
+ "edgeProfile": {
+ "subscription": {
+ "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16",
+ "state": "Registered"
+ }
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDevicePut.json
new file mode 100644
index 000000000000..15e70527be03
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DataBoxEdgeDevicePut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "dataBoxEdgeDevice": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "name": "testedgedevice"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DeleteAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DeleteAddons.json
new file mode 100644
index 000000000000..17e03b5768d8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DeleteAddons.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "KubernetesRole",
+ "addonName": "arcName",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DeleteMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DeleteMonitoringConfig.json
new file mode 100644
index 000000000000..9276f48872cf
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DeleteMonitoringConfig.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DownloadUpdatesPost.json
new file mode 100644
index 000000000000..9a37159bb0fd
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/DownloadUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ExtendedInfoPost.json
new file mode 100644
index 000000000000..f5ecf366d93d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ExtendedInfoPost.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceKey": "3482840729935603111",
+ "encryptionKeyThumbprint": "",
+ "encryptionKey": ""
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GenerateCertificate.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GenerateCertificate.json
new file mode 100644
index 000000000000..ab24babf372f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GenerateCertificate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "publicKey": "MIIEDjCCAnagAwIBAgIQEW4wrxj9+JdA4kFLDgegTTANBgkqhkiG9w0BAQUFADBDMUEwPwYDVQQDHjgAQwBCAF8AUABvAHIAdABhAGwAXwA2ADMANwA0ADEAMwA1ADkAMQA4ADAAMAA3ADAAOQAxADcANTAeFw0yMDExMTkwNDU2MjBaFw0yMDExMjIwNTA2MjBaMEMxQTA/BgNVBAMeOABDAEIAXwBQAG8AcgB0AGEAbABfADYAMwA3ADQAMQAzADUAOQAxADgAMAAwADcAMAA5ADEANwA1MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAqG617KAUc4gOoht527o6FGE/c97W/wZIXqKbx4G8vifljXWw3NGDDuSQfidE3MqSMMJ/AAlDhBH/Deo/PAgUWuWB2WgM+KFWrDS0oDBvLVeIIeiMx4LOsbz4J8IbcKrGWf+ulQyum7dE/yBLzPXcPTjhJP0oMfhGOMlVVWbiKaP78/WZk2PmBQaVv7PxAQnJAPqETH2qAyuc9bd0TaMlIER56WhX9+nzsoI0u7RmBEs8+BaudVroiiK/GpEczy73TCRlpVXGChdBHg+NvYRYz91ltCV9Ijo1bdvcUjdgDJZ4Tz7G8XVCQmxbd9ml6OBLgxQUpd9HSGTcIfFiv+rTUwHR7YkY+1UGHsDPOYnBVDTXs3RFm+c5uNnCKvtyTExDJgabT+FTNb3eyD/BSYsy6b/YZBRqPiO8BRFUsIhWhXtPaUjWOEx6XMeZRnGeF4Hi8iH8TR79kEJhfYy3piSPAc3JrhgoglpyyfZOgyPOje+8tAWS9FHUNyVXKKeksDoZAgMBAAEwDQYJKoZIhvcNAQEFBQADggGBACpfQt34mgr+WlFtY0tqaPAoF6XnVzyKB6XsVAoj1uKFTSCQnr0mWvUMWKSRFTu1bV1VdDokV5I+h92kBcO4ddtHhWtkt16j9XFDsGdDvoUWJeqecZVr9fBPC69wF/9R/2E6iJporR46Pui7gcilYGqb3IjJlh8RT/XBPamQrfDbS7G8eTe91ST5cHr89R6EtDwfyhyTZr2sRrvQrxY2AjEmdH5Zcl9q2Xf8DholZhZ9vwnuYBFfl6VCXWaDAzQWiPdxo1wgXxEpNNDstGFWJKnsnz9UCohNAiPf47B+csPqxjcTLVMhcGLdU/lwpzzkEOciijpYILscvPoU3IM6DmFROgU2z6CForpgwHPDJktyWU1MC7lFdfrSzwu/5b3ZAEQhnJf7rvrybULoYBQWJEuj26Is1S6kXpNUaHAc5HIyIoc2V2eRjasbPIqsU0smjPLS/1egjHxtw9u+v4qDDvDuOjhFJtC3NkPl06TfNgO9+5LgiB1JppXnkLyCQ9RQgw==",
+ "privateKey": null,
+ "expiryTimeInUTC": "2020-11-22T05:06:20.000Z"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetAddons.json
new file mode 100644
index 000000000000..1d514b74dd3d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetAddons.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "KubernetesRole",
+ "addonName": "arcName",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "resourceName": "testedgedevice",
+ "resourceLocation": "EastUS",
+ "version": "0.2.18",
+ "hostPlatform": "Linux",
+ "hostPlatformType": "KubernetesCluster",
+ "provisioningState": "Created"
+ },
+ "kind": "ArcForKubernetes",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName",
+ "name": "arcName",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetDCAccessCode.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetDCAccessCode.json
new file mode 100644
index 000000000000..adda310152d7
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetDCAccessCode.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "authCode": "_sv7-NY2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetMonitoringConfig.json
new file mode 100644
index 000000000000..baad7a1cbdb0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetMonitoringConfig.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetUpdateExtendedInfo.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetUpdateExtendedInfo.json
new file mode 100644
index 000000000000..2c593b21ee11
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/GetUpdateExtendedInfo.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "parameters": {},
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "clientSecretStoreId": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/arja-rg/providers/Microsoft.KeyVault/vaults/test-keyvault-ccy-523",
+ "clientSecretStoreUrl": "https://test-keyvault-ccy-523.vault.azure.net",
+ "channelIntegrityKeyName": "ase-cik-ab861822-21ea-4d31-96ec-89aa066f9a59",
+ "channelIntegrityKeyVersion": "95e9b619e65f433d82c9e1ead48214b9",
+ "keyVaultSyncStatus": "KeyVaultSynced",
+ "deviceSecrets": {
+ "HcsDataVolumeBitLockerExternalKey": {
+ "keyVaultId": "Id"
+ },
+ "HcsInternalVolumeBitLockerExternalKey": {
+ "keyVaultId": "Id"
+ },
+ "SystemVolumeBitLockerRecoveryKey": {
+ "keyVaultId": "Id"
+ },
+ "SEDEncryptionExternalKeyId": {},
+ "SEDEncryptionExternalKey": {},
+ "BMCDefaultUserPassword": {},
+ "RotateKeyForDataVolumeBitlocker": {},
+ "RotateKeysForSedDrivesSerialized": {}
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/InstallUpdatesPost.json
new file mode 100644
index 000000000000..9a37159bb0fd
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/InstallUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/JobsGet.json
new file mode 100644
index 000000000000..685de68275c2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/JobsGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/jobs/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ListMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ListMonitoringConfig.json
new file mode 100644
index 000000000000..4b345db9f9d0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ListMonitoringConfig.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/NetworkSettingsGet.json
new file mode 100644
index 000000000000..30086c40ad97
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/NetworkSettingsGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "networkAdapters": [
+ {
+ "adapterId": "{47D0D0EC-AA8A-4221-AA2A-355B58082BA5}",
+ "adapterPosition": {
+ "networkGroup": "NonRDMA",
+ "port": 0
+ },
+ "index": 1,
+ "nodeId": "3fd54d9e-f7a0-45bf-bdf1-39b0977d1984",
+ "networkAdapterName": "DATA1",
+ "label": "DATA1",
+ "macAddress": "00155D4E265B",
+ "linkSpeed": 10000000000,
+ "status": "Inactive",
+ "rdmaStatus": "Incapable",
+ "dhcpStatus": "Disabled",
+ "ipv4Configuration": {
+ "ipAddress": "10.150.78.56",
+ "subnet": "255.255.252.0",
+ "gateway": "10.150.76.1"
+ },
+ "ipv6Configuration": {
+ "ipAddress": "2404:f801:4800:1e:d5c6:50a1:465b:1bbf",
+ "prefixLength": 64,
+ "gateway": "fe80::12f3:11ff:fe36:994b%5"
+ },
+ "ipv6LinkLocalAddress": "fe80::d5c6:50a1:465b:1bbf%5",
+ "dnsServers": [
+ "10.50.50.50",
+ "10.50.10.50"
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/networkSettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/NodeGetAllInDevice.json
new file mode 100644
index 000000000000..04c3c3221531
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/NodeGetAllInDevice.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1D6QHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ad051874-7d27-4ac4-a7b1-b6f231d8a035"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1D6QHQ2",
+ "name": "1D6QHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ },
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1DCNHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ddf3a76d-ada4-44af-99c6-a69a0e21bcb6"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1DCNHQ2",
+ "name": "1DCNHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OperationsGet.json
new file mode 100644
index 000000000000..3d0d010047ff
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OperationsGet.json
@@ -0,0 +1,675 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Creates or updates share users",
+ "description": "Creates or updates the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Delete share users",
+ "description": "Deletes the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Creates or updates bandwidth schedules",
+ "description": "Creates or updates the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Delete bandwidth schedules",
+ "description": "Deletes the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Creates or updates ArmApiRes_roles",
+ "description": "Creates or updates the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Delete ArmApiRes_roles",
+ "description": "Deletes the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Creates or updates shares",
+ "description": "Creates or updates the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/refresh/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "ArmApiOp_action_refresh_shares",
+ "description": "ArmApiDesc_action_refresh_shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Delete shares",
+ "description": "Deletes the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/uploadCertificate/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Upload certificates",
+ "description": "Upload certificate for device registration"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Delete Data Box Edge devices",
+ "description": "Deletes the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/getExtendedInformation/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "ArmApiOp_action_getExtendedInformation_dataBoxEdgeDevices",
+ "description": "ArmApiDesc_action_getExtendedInformation_dataBoxEdgeDevices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/extendedInformation/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Gets resource extended information",
+ "description": "Retrieves resource extended information"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device network settings",
+ "operation": "List Device network settings",
+ "description": "Lists or gets the Device network settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings/update/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device security settings",
+ "operation": "Update security settings",
+ "description": "Update security settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "update summary",
+ "operation": "List update summary",
+ "description": "Lists or gets the update summary"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/scanForUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Scan for updates",
+ "description": "Scan for updates"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/downloadUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Download Updates",
+ "description": "Download Updates in device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/installUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Install Updates",
+ "description": "Install Updates on device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/jobs/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "jobs",
+ "operation": "List jobs",
+ "description": "Lists or gets the jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Creates or updates storage account credentials",
+ "description": "Creates or updates the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Delete storage account credentials",
+ "description": "Deletes the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read Data Box Edge device metric definition",
+ "description": "Gets the available Data Box Edge device level metrics"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "NICReadThroughput",
+ "displayName": "Read Throughput (Network)",
+ "displayDescription": "The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "NICWriteThroughput",
+ "displayName": "Write Throughput (Network)",
+ "displayDescription": "The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughputPerShare",
+ "displayName": "Cloud Download Throughput (Share)",
+ "displayDescription": "The download throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughputPerShare",
+ "displayName": "Cloud Upload Throughput (Share)",
+ "displayDescription": "The upload throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloudPerShare",
+ "displayName": "Cloud Bytes Uploaded (Share)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a share during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "TotalCapacity",
+ "displayName": "Total Capacity",
+ "displayDescription": "Total Capacity",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "AvailableCapacity",
+ "displayName": "Available Capacity",
+ "displayDescription": "The available capacity in bytes during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughput",
+ "displayName": "Cloud Upload Throughput",
+ "displayDescription": "The cloud upload throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughput",
+ "displayName": "Cloud Read Throughput",
+ "displayDescription": "The cloud download throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloud",
+ "displayName": "Cloud Bytes Uploaded (Device)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a device during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Write diagnostics setting",
+ "description": "Creates or updates the diagnostics setting for the resource"
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read diagnostics setting",
+ "description": "Gets the diagnostic setting for the resource"
+ },
+ "origin": "system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OperationsStatusGet.json
new file mode 100644
index 000000000000..0480584dcdf8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OperationsStatusGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/operationsStatus/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderDelete.json
new file mode 100644
index 000000000000..d491dfdb63d2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderGet.json
new file mode 100644
index 000000000000..10bf8cf3cf26
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderGetAllInDevice.json
new file mode 100644
index 000000000000..b5ba346a1650
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderGetAllInDevice.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderPut.json
new file mode 100644
index 000000000000..4d24a1b5304e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/OrderPut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "order": {
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/PutAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/PutAddons.json
new file mode 100644
index 000000000000..663a16d89133
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/PutAddons.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "KubernetesRole",
+ "addonName": "arcName",
+ "addon": {
+ "kind": "ArcForKubernetes",
+ "properties": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "resourceName": "testedgedevice",
+ "resourceLocation": "EastUS"
+ }
+ },
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "resourceName": "testedgedevice",
+ "resourceLocation": "EastUS",
+ "version": "0.2.18",
+ "hostPlatform": "Linux",
+ "hostPlatformType": "KubernetesCluster",
+ "provisioningState": "Created"
+ },
+ "kind": "ArcForKubernetes",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName",
+ "name": "arcName",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/PutMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/PutMonitoringConfig.json
new file mode 100644
index 000000000000..8e18285ae9fb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/PutMonitoringConfig.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "monitoringMetricConfiguration": {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleDelete.json
new file mode 100644
index 000000000000..349a5cf961ec
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleGet.json
new file mode 100644
index 000000000000..52c05871c9ea
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleGetAllInDevice.json
new file mode 100644
index 000000000000..27e20bb4859d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleListAddOns.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleListAddOns.json
new file mode 100644
index 000000000000..886a2e412af2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RoleListAddOns.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subscriptionId": "0d44739e-0563-474f-97e7-24a0cdb23b29",
+ "resourceGroupName": "testrg1",
+ "resourceName": "testresource1",
+ "resourceLocation": "EastUS",
+ "version": "0.2.18",
+ "hostPlatform": "Linux",
+ "hostPlatformType": "KubernetesCluster",
+ "provisioningState": "Created"
+ },
+ "kind": "ArcForKubernetes",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/prpare/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName",
+ "name": "arcName",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RolePut.json
new file mode 100644
index 000000000000..3077bc317b9d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/RolePut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "role": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "348586569999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "1245475856069999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACDelete.json
new file mode 100644
index 000000000000..e1db5d739d7f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACGet.json
new file mode 100644
index 000000000000..ec23f797ac76
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACGetAllInDevice.json
new file mode 100644
index 000000000000..5b185e083454
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "alias": "sac1128180128323",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "GeneralPurposeStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128323",
+ "name": "sac1128180128323",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ },
+ {
+ "properties": {
+ "alias": "sac1128180128312",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128312",
+ "name": "sac1128180128312",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACPut.json
new file mode 100644
index 000000000000..9b50267c2d82
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SACPut.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccountCredential": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "accountKey": {
+ "value": "lAeZEYi6rNP1/EyNaVUYmTSZEYyaIaWmwUsGwek0+xiZj54GM9Ue9/UA2ed/ClC03wuSit2XzM/cLRU5eYiFBwks23rGwiQOr3sruEL2a74EjPD050xYjA6M1I2hu/w2yjVHhn5j+DbXS4Xzi+rHHNZK3DgfDO3PkbECjPck+PbpSBjy9+6Mrjcld5DIZhUAeMlMHrFlg+WKRKB14o/og56u5/xX6WKlrMLEQ+y6E18dUwvWs2elTNoVO8PBE8SM/CfooX4AMNvaNdSObNBPdP+F6Lzc556nFNWXrBLRt0vC7s9qTiVRO4x/qCNaK/B4y7IqXMllwQFf4Np9UQ2ECA==",
+ "encryptionCertThumbprint": "2A9D8D6BE51574B5461230AEF02F162C5F01AD31",
+ "encryptionAlgorithm": "AES256"
+ },
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ScanForUpdatesPost.json
new file mode 100644
index 000000000000..9a37159bb0fd
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ScanForUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SecuritySettingsUpdatePost.json
new file mode 100644
index 000000000000..8ab2157fdca7
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SecuritySettingsUpdatePost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "AzureVM",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "securitySettings": {
+ "properties": {
+ "deviceAdminPassword": {
+ "value": "",
+ "encryptionAlgorithm": "AES256",
+ "encryptionCertThumbprint": ""
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareDelete.json
new file mode 100644
index 000000000000..11b01239cb8e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareGet.json
new file mode 100644
index 000000000000..9171e03bb22b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareGetAllInDevice.json
new file mode 100644
index 000000000000..526d088c4f0e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareGetAllInDevice.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SharePut.json
new file mode 100644
index 000000000000..2655c434a55e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/SharePut.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "share": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Enabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "dataPolicy": "Cloud"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareRefreshPost.json
new file mode 100644
index 000000000000..79b3c7b886da
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/ShareRefreshPost.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountDelete.json
new file mode 100644
index 000000000000..1265d7082d41
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountGet.json
new file mode 100644
index 000000000000..f246a91dad8e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountGetAllInDevice.json
new file mode 100644
index 000000000000..3858cb857179
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountGetAllInDevice.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountPut.json
new file mode 100644
index 000000000000..de3222d0ab23
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/StorageAccountPut.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccount": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerDelete.json
new file mode 100644
index 000000000000..26abcb3ae332
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerGet.json
new file mode 100644
index 000000000000..3f2be16dd41b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerGetAllInDevice.json
new file mode 100644
index 000000000000..18145f8ff690
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerGetAllInDevice.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerPut.json
new file mode 100644
index 000000000000..2ab707367f1e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/TriggerPut.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "trigger": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "kind": "FileEvent"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UpdateSummaryGet.json
new file mode 100644
index 000000000000..c3e368c01050
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UpdateSummaryGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "deviceVersionNumber": "2.1.1377.2170",
+ "friendlyDeviceVersionName": "Azure Stack Edge 2010",
+ "deviceLastScannedDateTime": "2021-03-17T19:51:51.7864634Z",
+ "lastCompletedScanJobDateTime": "2021-03-17T19:47:46.1595547Z",
+ "lastDownloadJobStatus": "Invalid",
+ "lastInstallJobStatus": "Invalid",
+ "totalNumberOfUpdatesAvailable": 1,
+ "totalNumberOfUpdatesPendingDownload": 1,
+ "totalNumberOfUpdatesPendingInstall": 1,
+ "rebootBehavior": "NeverReboots",
+ "ongoingUpdateOperation": "Install",
+ "updateTitles": [
+ "Azure Stack Edge Update 2101 Package 1 of 2 for Pro-GPU, Pro R, Mini R"
+ ],
+ "totalUpdateSizeInBytes": 4260898192.0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UploadCertificatePost.json
new file mode 100644
index 000000000000..f989d7c00a79
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UploadCertificatePost.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authType": "AzureActiveDirectory",
+ "resourceId": "392799901267771",
+ "aadAuthority": "https://login.windows.net",
+ "aadTenantId": "100b019d-4626-4a9e-a83c-9cff8fe41909",
+ "servicePrincipalClientId": "ffd8a688-82b1-4e5a-a4c1-7ede8c928e68",
+ "servicePrincipalObjectId": "cef6d40c-24e6-4a6f-bb9e-3ec60b4adec4",
+ "azureManagementEndpointAudience": "https://wus-bvtgateway.ext.trafficmanager.net/"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserDelete.json
new file mode 100644
index 000000000000..4967f750aa87
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserGet.json
new file mode 100644
index 000000000000..80ff0f35b9e4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ "202": {}
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserGetAllInDevice.json
new file mode 100644
index 000000000000..dd6ca1fc60a0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserGetAllInDevice.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "name": "user2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserPut.json
new file mode 100644
index 000000000000..d374247c3d0c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-02-01-preview/examples/UserPut.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "user": {
+ "properties": {
+ "encryptedPassword": {
+ "value": "",
+ "encryptionAlgorithm": "None",
+ "encryptionCertThumbprint": "blah"
+ },
+ "userType": "Share"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/readme.azureresourceschema.md b/specification/databoxedge/resource-manager/readme.azureresourceschema.md
index ed01209d6f2b..9c3ee052cf41 100644
--- a/specification/databoxedge/resource-manager/readme.azureresourceschema.md
+++ b/specification/databoxedge/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-databoxedge-2021-02-01-preview
- tag: schema-databoxedge-2020-12-01
- tag: schema-databoxedge-2020-09-01-preview
- tag: schema-databoxedge-2020-09-01
@@ -18,6 +19,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-databoxedge-2021-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-databoxedge-2021-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBoxEdge/preview/2021-02-01-preview/databoxedge.json
+
+```
+
### Tag: schema-databoxedge-2020-12-01 and azureresourceschema
``` yaml $(tag) == 'schema-databoxedge-2020-12-01' && $(azureresourceschema)
diff --git a/specification/databoxedge/resource-manager/readme.go.md b/specification/databoxedge/resource-manager/readme.go.md
index 1f0c77582b53..71d584f0938c 100644
--- a/specification/databoxedge/resource-manager/readme.go.md
+++ b/specification/databoxedge/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: databoxedge
clear-output-folder: true
```
@@ -13,6 +13,7 @@ go:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
- tag: package-2020-09-01
@@ -21,6 +22,14 @@ batch:
- tag: package-2019-07
- tag: package-2019-03
```
+### Tag: package-2021-02-01-preview and go
+
+These settings apply only when `--tag=package-2021-02-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2021-02-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-02-01-preview/$(namespace)
+```
### Tag: package-2020-12-01 and go
diff --git a/specification/databoxedge/resource-manager/readme.java.md b/specification/databoxedge/resource-manager/readme.java.md
index bebcd0cd600c..78e86fdee112 100644
--- a/specification/databoxedge/resource-manager/readme.java.md
+++ b/specification/databoxedge/resource-manager/readme.java.md
@@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-databoxedge
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
- tag: package-2020-09-01
@@ -25,6 +26,19 @@ batch:
- tag: package-2019-03
```
+### Tag: package-2021-02-01-preview and java
+
+These settings apply only when `--tag=package-2021-02-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-02-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databoxedge.v2021_02-01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databoxedge/mgmt-v2021_02-01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2020-12-01 and java
These settings apply only when `--tag=package-2020-12-01 --java` is specified on the command line.
diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md
index 923b2a1b6de1..69cd7125acdf 100644
--- a/specification/databoxedge/resource-manager/readme.md
+++ b/specification/databoxedge/resource-manager/readme.md
@@ -28,6 +28,14 @@ These are the global settings for the DataBox Edge API.
openapi-type: arm
tag: package-2019-08
```
+### Tag: package-2021-02-01-preview
+
+These settings apply only when `--tag=package-2021-02-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-02-01-preview'
+input-file:
+- Microsoft.DataBoxEdge/preview/2021-02-01-preview/databoxedge.json
+```
### Tag: package-2020-12-01
These settings apply only when `--tag=package-2020-12-01` is specified on the command line.
diff --git a/specification/databoxedge/resource-manager/readme.python.md b/specification/databoxedge/resource-manager/readme.python.md
index 72834f1af3f1..d76d355eb72a 100644
--- a/specification/databoxedge/resource-manager/readme.python.md
+++ b/specification/databoxedge/resource-manager/readme.python.md
@@ -33,6 +33,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && !$(track2)
batch:
+ - tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
- tag: package-2020-09-01
@@ -43,6 +44,7 @@ batch:
```
```yaml $(python) && $(multiapi) && $(track2)
batch:
+ - tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
- tag: package-2020-09-01
@@ -58,6 +60,20 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg
clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-02-01-preview and python
+
+These settings apply only when `--tag=package-2021-02-01-preview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-02-01-preview' && $(python) & !$(track2)
+python:
+ namespace: azure.mgmt.databoxedge.v2021_02_01_preview
+ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2021_02_01_preview
+```
+``` yaml $(tag) == 'package-2021-02-01-preview' && $(python) && $(track2)
+namespace: azure.mgmt.databoxedge.v2021_02_01_preview
+output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2021_02_01_preview
+```
### Tag: package-2020-12-01 and python
diff --git a/specification/databoxedge/resource-manager/readme.ruby.md b/specification/databoxedge/resource-manager/readme.ruby.md
index a57e9cc015c3..10056e13b5f1 100644
--- a/specification/databoxedge/resource-manager/readme.ruby.md
+++ b/specification/databoxedge/resource-manager/readme.ruby.md
@@ -12,6 +12,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2021-02-01-preview
- tag: package-2020-12-01
- tag: package-2020-09-01-preview
- tag: package-2020-09-01
@@ -20,6 +21,15 @@ batch:
- tag: package-2019-07
- tag: package-2019-03
```
+### Tag: package-2021-02-01-preview and ruby
+
+These settings apply only when `--tag=package-2021-02-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-02-01-preview' && $(ruby)
+namespace: "Azure::DataBoxEdge::Mgmt::V2021_02-01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databoxedge/lib
+```
### Tag: package-2020-12-01 and ruby
diff --git a/specification/databoxedge/resource-manager/readme.terraform.md b/specification/databoxedge/resource-manager/readme.terraform.md
new file mode 100644
index 000000000000..a06e07226edb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/readme.terraform.md
@@ -0,0 +1,110 @@
+
+## Terraform
+
+These settings apply only when `--terraform` is specified on the command line.
+
+``` yaml $(terraform)
+terraform:
+ cli-name: databoxedge
+ package-name: databoxedge
+clear-output-folder: true
+output-folder: $(terraform-output-folder)/databoxedge
+```
+## overrides
+
+These settings apply only when `--terraform` is specified on the command line.
+``` yaml $(terraform)
+overrides:
+ - where:
+ resource: "BandwidthSchedules"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "Containers"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 3
+ - where:
+ resource: "Devices"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 1
+ - where:
+ resource: "Devices"
+ method: "Update"
+ set:
+ - BodyPosition: 1
+ - where:
+ resource: "Orders"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 1
+ - where:
+ resource: "Roles"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "Shares"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "StorageAccountCredentials"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "StorageAccounts"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "Triggers"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "Users"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ property: "SSLStatus"
+ set:
+ - GoFieldName: "SslStatus"
+```
+
+```yaml $(tag) == 'package-2021-02-01-preview' && $(terraform)
+gosdk-folder: services/preview/databoxedge/mgmt/2021-02-01-preview/databoxedge
+```
+
+```yaml $(tag) == 'package-2020-12-01' && $(terraform)
+gosdk-folder: services/databoxedge/mgmt/2020-12-01/databoxedge
+```
+
+```yaml $(tag) == 'package-2020-09-01-preview' && $(terraform)
+gosdk-folder: services/preview/databoxedge/mgmt/2020-09-01-preview/databoxedge
+
+```
+
+```yaml $(tag) == 'package-2020-09-01' && $(terraform)
+gosdk-folder: services/databoxedge/mgmt/2020-09-01/databoxedge
+```
+
+```yaml $(tag) == 'package-2020-05-preview' && $(terraform)
+gosdk-folder: services/preview/databoxedge/mgmt/2020-05-01-preview/databoxedge
+```
+
+```yaml $(tag) == 'package-2019-08' && $(terraform)
+gosdk-folder: services/databoxedge/mgmt/2019-08-01/databoxedge
+```
+
+```yaml $(tag) == 'package-2019-07' && $(terraform)
+gosdk-folder: services/databoxedge/mgmt/2019-07-01/databoxedge
+```
+
+```yaml $(tag) == 'package-2019-03' && $(terraform)
+gosdk-folder: services/databoxedge/mgmt/2019-03-01/databoxedge
+```
diff --git a/specification/databoxedge/resource-manager/readme.trenton.md b/specification/databoxedge/resource-manager/readme.trenton.md
deleted file mode 100644
index 25f9a09eebb2..000000000000
--- a/specification/databoxedge/resource-manager/readme.trenton.md
+++ /dev/null
@@ -1,77 +0,0 @@
-
-## trenton
-
-These settings apply only when `--trenton` is specified on the command line.
-
-``` yaml $(trenton)
-trenton:
- cli-name: databoxedge
- package-name: databoxedge
-clear-output-folder: true
-output-folder: $(trenton-output-folder)/databoxedge
-```
-## overrides
-
-These settings apply only when `--trenton` is specified on the command line.
-``` yaml $(trenton)
-overrides:
- - where:
- resource: "BandwidthSchedules"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 2
- - where:
- resource: "Containers"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 3
- - where:
- resource: "Devices"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 1
- - where:
- resource: "Devices"
- method: "Update"
- set:
- - BodyPosition: 1
- - where:
- resource: "Orders"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 1
- - where:
- resource: "Roles"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 2
- - where:
- resource: "Shares"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 2
- - where:
- resource: "StorageAccountCredentials"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 2
- - where:
- resource: "StorageAccounts"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 2
- - where:
- resource: "Triggers"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 2
- - where:
- resource: "Users"
- method: "CreateOrUpdate"
- set:
- - BodyPosition: 2
- - where:
- property: "SSLStatus"
- set:
- - GoFieldName: "SslStatus"
-```
\ No newline at end of file
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json
index 348cc61d5dfa..52958f7bfee4 100644
--- a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json
@@ -855,6 +855,22 @@
"$ref": "#/definitions/WorkspaceCustomBooleanParameter",
"description": "Should the Public IP be Disabled?"
},
+ "loadBalancerBackendPoolName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Name of the outbound Load Balancer Backend Pool for Secure Cluster Connectivity (No Public IP)."
+ },
+ "loadBalancerId": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Resource URI of Outbound Load balancer for Secure Cluster Connectivity (No Public IP) workspace."
+ },
+ "natGatewayName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) workspace subnets."
+ },
+ "publicIpName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Name of the Public IP for No Public IP workspace with managed vNet."
+ },
"prepareEncryption": {
"$ref": "#/definitions/WorkspaceCustomBooleanParameter",
"description": "Prepare the workspace for encryption. Enables the Managed Identity for managed storage account."
@@ -866,6 +882,23 @@
"requireInfrastructureEncryption": {
"$ref": "#/definitions/WorkspaceCustomBooleanParameter",
"description": "A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest."
+ },
+ "storageAccountName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Default DBFS storage account name."
+ },
+ "storageAccountSkuName": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Storage account SKU name, ex: Standard_GRS, Standard_LRS. Refer https://aka.ms/storageskus for valid inputs."
+ },
+ "vnetAddressPrefix": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "Address prefix for Managed virtual network. Default value for this input is 10.139."
+ },
+ "resourceTags": {
+ "$ref": "#/definitions/WorkspaceCustomObjectParameter",
+ "readOnly": true,
+ "description": "Tags applied to resources under Managed resource group. These can be updated by updating tags at workspace level."
}
},
"description": "Custom Parameters used for Cluster Creation."
diff --git a/specification/databricks/resource-manager/readme.go.md b/specification/databricks/resource-manager/readme.go.md
index 9dbacacbe15e..ffcc90680a7a 100644
--- a/specification/databricks/resource-manager/readme.go.md
+++ b/specification/databricks/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: databricks
```
diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md
index 403240be08a6..621a7581ebc7 100644
--- a/specification/databricks/resource-manager/readme.md
+++ b/specification/databricks/resource-manager/readme.md
@@ -84,6 +84,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
diff --git a/specification/datacatalog/resource-manager/readme.go.md b/specification/datacatalog/resource-manager/readme.go.md
index 58a9273bbec4..4136c7589024 100644
--- a/specification/datacatalog/resource-manager/readme.go.md
+++ b/specification/datacatalog/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: datacatalog
```
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
index 4851f3b0b66b..aa11aacd09e7 100644
--- 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
@@ -1505,7 +1505,8 @@
"x-ms-enum": {
"modelAsString": true,
"name": "ProvisioningState"
- }
+ },
+ "readOnly": true
},
"MonitoringStatus": {
"description": "Flag specifying if the resource monitoring is enabled or disabled.",
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json
new file mode 100644
index 000000000000..ca6518839cb3
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json
@@ -0,0 +1,1985 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft.Datadog",
+ "version": "2021-03-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Datadog/agreements": {
+ "get": {
+ "tags": [
+ "Agreements"
+ ],
+ "summary": "List Datadog marketplace agreements in the subscription.",
+ "operationId": "MarketplaceAgreements_List",
+ "produces": [
+ "application/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": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogAgreementResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "MarketplaceAgreements_List": {
+ "$ref": "./examples/MarketplaceAgreements_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Datadog/agreements/default": {
+ "put": {
+ "tags": [
+ "Agreements"
+ ],
+ "summary": "Create Datadog marketplace agreement in the subscription.",
+ "operationId": "MarketplaceAgreements_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/DatadogAgreementResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogAgreementResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "MarketplaceAgreements_CreateOrUpdate": {
+ "$ref": "./examples/MarketplaceAgreements_Create.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}/listApiKeys": {
+ "post": {
+ "tags": [
+ "ApiKey"
+ ],
+ "summary": "List the api keys for a given monitor resource.",
+ "operationId": "Monitors_ListApiKeys",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_ListApiKeys": {
+ "$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": "Monitors_GetDefaultKey",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_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": "Monitors_SetDefaultKey",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_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": "Monitors_ListHosts",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_ListHosts": {
+ "$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": "Monitors_ListLinkedResources",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_ListLinkedResources": {
+ "$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": "Monitors_ListMonitoredResources",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_ListMonitoredResources": {
+ "$ref": "./examples/MonitoredResources_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Datadog/operations": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all operations provided by Microsoft.Datadog for the 2021-03-01 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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Datadog/monitors": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all monitors under the specified subscription.",
+ "operationId": "Monitors_List",
+ "produces": [
+ "application/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": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "../../../../../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": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatadogMonitorResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "Monitors_RefreshSetPasswordLink",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_RefreshSetPasswordLink": {
+ "$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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "description": "Rule set name",
+ "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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "description": "Rule set name",
+ "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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "description": "Configuration name",
+ "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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "description": "Configuration name",
+ "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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SingleSignOnConfigurations_Get": {
+ "$ref": "./examples/SingleSignOnConfigurations_Get.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatadogAgreementProperties": {
+ "description": "Terms properties.",
+ "type": "object",
+ "properties": {
+ "publisher": {
+ "description": "Publisher identifier string.",
+ "type": "string"
+ },
+ "product": {
+ "description": "Product identifier string.",
+ "type": "string"
+ },
+ "plan": {
+ "description": "Plan identifier string.",
+ "type": "string"
+ },
+ "licenseTextLink": {
+ "description": "Link to HTML with Microsoft and Publisher terms.",
+ "type": "string"
+ },
+ "privacyPolicyLink": {
+ "description": "Link to the privacy policy of the publisher.",
+ "type": "string"
+ },
+ "retrieveDatetime": {
+ "format": "date-time",
+ "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false.",
+ "type": "string"
+ },
+ "signature": {
+ "description": "Terms signature.",
+ "type": "string"
+ },
+ "accepted": {
+ "description": "If any version of the terms have been accepted, otherwise false.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DatadogAgreementResource": {
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "ARM id of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the agreement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/DatadogAgreementProperties",
+ "description": "Represents the properties of the resource."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "DatadogAgreementResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatadogAgreementResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ },
+ "readOnly": true
+ },
+ "MonitoringStatus": {
+ "description": "Flag specifying if the resource monitoring is enabled or disabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Enabled",
+ "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": [
+ "Provisioning",
+ "Active",
+ "Suspended",
+ "Unsubscribed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "MarketplaceSubscriptionStatus"
+ },
+ "readOnly": true
+ },
+ "DatadogOrganizationProperties": {
+ "description": "Datadog organization properties",
+ "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"
+ ],
+ "x-ms-secret": true
+ },
+ "linkingClientId": {
+ "description": "The client_id from an existing in exchange for an auth token to link organization.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ],
+ "x-ms-secret": true
+ },
+ "redirectUri": {
+ "description": "The redirect uri for linking.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "apiKey": {
+ "description": "Api key associated to the Datadog organization.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ],
+ "x-ms-secret": true
+ },
+ "applicationKey": {
+ "description": "Application key associated to the Datadog organization.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ],
+ "x-ms-secret": true
+ },
+ "enterpriseAppId": {
+ "description": "The Id of the Enterprise App used for Single sign on.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ }
+ },
+ "UserInfo": {
+ "description": "User info",
+ "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"
+ }
+ },
+ "x-ms-secret": true
+ },
+ "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",
+ "description": "Identity type",
+ "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"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "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": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "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"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "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": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "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",
+ "readOnly": true
+ }
+ }
+ },
+ "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"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "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": {
+ "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/stable/2021-03-01/examples/ApiKeys_GetDefaultKey.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/ApiKeys_GetDefaultKey.json
new file mode 100644
index 000000000000..13dbd2aa28ad
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/ApiKeys_GetDefaultKey.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "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/stable/2021-03-01/examples/ApiKeys_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/ApiKeys_List.json
new file mode 100644
index 000000000000..4ffff713dea2
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/ApiKeys_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "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/stable/2021-03-01/examples/ApiKeys_SetDefaultKey.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/ApiKeys_SetDefaultKey.json
new file mode 100644
index 000000000000..25b71564973e
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/ApiKeys_SetDefaultKey.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "key": "1111111111111111aaaaaaaaaaaaaaaa"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Hosts_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Hosts_List.json
new file mode 100644
index 000000000000..01c69f7a961f
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Hosts_List.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "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/stable/2021-03-01/examples/LinkedResources_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/LinkedResources_List.json
new file mode 100644
index 000000000000..381c3dd09f0e
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/LinkedResources_List.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/MarketplaceAgreements_Create.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/MarketplaceAgreements_Create.json
new file mode 100644
index 000000000000..f787ed9cbf89
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/MarketplaceAgreements_Create.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "requestBody": {
+ "properties": {
+ "accepted": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Datadog/agreements/default",
+ "name": "default",
+ "type": "Microsoft.Datadog/agreements",
+ "properties": {
+ "publisher": "pubid1",
+ "product": "offid1",
+ "plan": "planid1",
+ "licenseTextLink": "test.licenseLink1",
+ "privacyPolicyLink": "test.privacyPolicyLink1",
+ "retrieveDatetime": "2017-08-15T11:33:07.12132Z",
+ "signature": "ASDFSDAFWEFASDGWERLWER",
+ "accepted": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/MarketplaceAgreements_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/MarketplaceAgreements_List.json
new file mode 100644
index 000000000000..c60d0d4c9e0e
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/MarketplaceAgreements_List.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Datadog/agreements/id1",
+ "name": "planid1",
+ "type": "Microsoft.Datadog/agreements",
+ "properties": {
+ "publisher": "pubid1",
+ "product": "offid1",
+ "plan": "planid1",
+ "licenseTextLink": "test.licenseLink1",
+ "privacyPolicyLink": "test.privacyPolicyLink1",
+ "retrieveDatetime": "2017-08-15T11:33:07.12132Z",
+ "signature": "ASDFSDAFWEFASDGWERLWER",
+ "accepted": false
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Datadog/agreements/id2",
+ "name": "planid2",
+ "type": "Microsoft.Datadog/agreements",
+ "properties": {
+ "publisher": "pubid2",
+ "product": "offid2",
+ "plan": "planid2",
+ "licenseTextLink": "test.licenseLin2k",
+ "privacyPolicyLink": "test.privacyPolicyLink2",
+ "retrieveDatetime": "2017-08-14T11:33:07.12132Z",
+ "signature": "ASDFSDAFWEFASDGWERLWER",
+ "accepted": false
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/MonitoredResources_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/MonitoredResources_List.json
new file mode 100644
index 000000000000..b3904b34fbde
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/MonitoredResources_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVault",
+ "sendingMetrics": true,
+ "reasonForMetricsStatus": "CapturedByRules",
+ "sendingLogs": true,
+ "reasonForLogsStatus": "CapturedByRules"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Create.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Create.json
new file mode 100644
index 000000000000..9d4e83e788e9
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Create.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "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/stable/2021-03-01/examples/Monitors_Delete.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Delete.json
new file mode 100644
index 000000000000..dc0e9e0e9aee
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Get.json
new file mode 100644
index 000000000000..e7fe6f09557e
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.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/stable/2021-03-01/examples/Monitors_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_List.json
new file mode 100644
index 000000000000..c6e2d6064761
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.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/stable/2021-03-01/examples/Monitors_ListByResourceGroup.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_ListByResourceGroup.json
new file mode 100644
index 000000000000..c6e2d6064761
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_ListByResourceGroup.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.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/stable/2021-03-01/examples/Monitors_Update.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Update.json
new file mode 100644
index 000000000000..2badea682d99
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Monitors_Update.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "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/stable/2021-03-01/examples/Operations_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Operations_List.json
new file mode 100644
index 000000000000..1e68e35b4213
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/Operations_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01"
+ },
+ "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/stable/2021-03-01/examples/RefreshSetPassword_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/RefreshSetPassword_Get.json
new file mode 100644
index 000000000000..50036205e152
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/RefreshSetPassword_Get.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "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/stable/2021-03-01/examples/SingleSignOnConfigurations_CreateOrUpdate.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/SingleSignOnConfigurations_CreateOrUpdate.json
new file mode 100644
index 000000000000..bf46e0931d1c
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/SingleSignOnConfigurations_CreateOrUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "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/stable/2021-03-01/examples/SingleSignOnConfigurations_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/SingleSignOnConfigurations_Get.json
new file mode 100644
index 000000000000..9f0925749008
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/SingleSignOnConfigurations_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "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/stable/2021-03-01/examples/SingleSignOnConfigurations_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/SingleSignOnConfigurations_List.json
new file mode 100644
index 000000000000..3d88449e6f2e
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/SingleSignOnConfigurations_List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/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/stable/2021-03-01/examples/TagRules_CreateOrUpdate.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/TagRules_CreateOrUpdate.json
new file mode 100644
index 000000000000..4dd31bb2aa1e
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/TagRules_CreateOrUpdate.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "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/stable/2021-03-01/examples/TagRules_Get.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/TagRules_Get.json
new file mode 100644
index 000000000000..9e7ec184f175
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/TagRules_Get.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "ruleSetName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Datadog/monitors/tagRules",
+ "properties": {
+ "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/stable/2021-03-01/examples/TagRules_List.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/TagRules_List.json
new file mode 100644
index 000000000000..8005d2d6dd1d
--- /dev/null
+++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/examples/TagRules_List.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Datadog/monitors/tagRules",
+ "properties": {
+ "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
index 255a40da1cd7..9e87a4698277 100644
--- a/specification/datadog/resource-manager/readme.az.md
+++ b/specification/datadog/resource-manager/readme.az.md
@@ -9,4 +9,10 @@ az:
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"
+
+directive:
+ - where:
+ group: marketplace-agreement
+ set:
+ group: terms
```
diff --git a/specification/datadog/resource-manager/readme.azureresourceschema.md b/specification/datadog/resource-manager/readme.azureresourceschema.md
index acca975da361..e1300ce5f490 100644
--- a/specification/datadog/resource-manager/readme.azureresourceschema.md
+++ b/specification/datadog/resource-manager/readme.azureresourceschema.md
@@ -6,12 +6,24 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-datadog-2021-03-01
- tag: schema-datadog-2020-02-01-preview
```
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-datadog-2021-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-datadog-2021-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Datadog/stable/2021-03-01/datadog.json
+
+```
+
### Tag: schema-datadog-2020-02-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-datadog-2020-02-01-preview' && $(azureresourceschema)
diff --git a/specification/datadog/resource-manager/readme.go.md b/specification/datadog/resource-manager/readme.go.md
index 847ccfd2fe30..508681d79a54 100644
--- a/specification/datadog/resource-manager/readme.go.md
+++ b/specification/datadog/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: datadog
clear-output-folder: true
```
@@ -13,9 +13,19 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-03
- tag: package-2020-02-preview
```
+### Tag: package-2021-03 and go
+
+These settings apply only when `--tag=package-2021-03 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-03-01/$(namespace)
+```
+
### Tag: package-2020-02-preview and go
These settings apply only when `--tag=package-2020-02-preview --go` is specified on the command line.
diff --git a/specification/datadog/resource-manager/readme.java.md b/specification/datadog/resource-manager/readme.java.md
index df97395c3038..6f3bded65133 100644
--- a/specification/datadog/resource-manager/readme.java.md
+++ b/specification/datadog/resource-manager/readme.java.md
@@ -16,9 +16,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-datadog
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-03
- tag: package-2020-02-preview
```
+### Tag: ppackage-2021-03 and java
+
+These settings apply only when `--tag=package-2021-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.datadog.v2021_03_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/datadog/mgmt-v2021_03_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2020-02-preview and java
These settings apply only when `--tag=package-2020-02-preview --java` is specified on the command line.
diff --git a/specification/datadog/resource-manager/readme.md b/specification/datadog/resource-manager/readme.md
index 0f0a9ed07167..21b9bd8cec5e 100644
--- a/specification/datadog/resource-manager/readme.md
+++ b/specification/datadog/resource-manager/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the Datadog API.
title: Microsoft Datadog Client
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2020-02-preview
+tag: package-2021-03
+```
+
+### Tag: package-2021-03
+
+These settings apply only when `--tag=package-2021-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03'
+input-file:
+- Microsoft.Datadog/stable/2021-03-01/datadog.json
```
### Tag: package-2020-02-preview
@@ -48,7 +57,6 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
@@ -108,6 +116,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Datadog/stable/2021-03-01/datadog.json
- $(this-folder)/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
```
diff --git a/specification/datadog/resource-manager/readme.python.md b/specification/datadog/resource-manager/readme.python.md
index 771a19b15e1a..124f4d5697c1 100644
--- a/specification/datadog/resource-manager/readme.python.md
+++ b/specification/datadog/resource-manager/readme.python.md
@@ -4,17 +4,6 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-```yaml !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.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.
@@ -23,19 +12,6 @@ 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' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog/azure/mgmt/datadog
-```
-
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/datadog/azure-mgmt-datadog
```
``` yaml $(python) && $(python-mode) == 'update' && $(track2)
diff --git a/specification/datadog/resource-manager/readme.ruby.md b/specification/datadog/resource-manager/readme.ruby.md
index e67dde1680e2..153311d1d8b1 100644
--- a/specification/datadog/resource-manager/readme.ruby.md
+++ b/specification/datadog/resource-manager/readme.ruby.md
@@ -4,7 +4,7 @@ These settings apply only when `--ruby` is specified on the command line.
``` yaml
package-name: azure_mgmt_datadog
-package-version: 2020-02-01-preview
+package-version: 2021-03-01
azure-arm: true
```
@@ -12,9 +12,20 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2021-03-01
- tag: package-2020-02-01-preview
```
+### Tag: package-2021-03-01 and ruby
+
+These settings apply only when `--tag=package-2021-03-01 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-03-01' && $(ruby)
+namespace: "Azure::Datadog::Mgmt::V2021_03_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_datadog/lib
+```
+
### 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.
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 37b2f6332449..074c69297192 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
@@ -4079,6 +4079,246 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndPointConnections": {
+ "get": {
+ "tags": [
+ "privateEndPointConnections"
+ ],
+ "operationId": "privateEndPointConnections_ListByFactory",
+ "x-ms-examples": {
+ "privateEndPointConnections_ListByFactory": {
+ "$ref": "./examples/PrivateEndPointConnections_ListByFactory.json"
+ }
+ },
+ "description": "Lists Private endpoint connections",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "put": {
+ "tags": [
+ "privateEndpointConnections"
+ ],
+ "description": "Approves or rejects a private endpoint connection",
+ "operationId": "PrivateEndpointConnection_CreateOrUpdate",
+ "x-ms-examples": {
+ "Approves or rejects a private endpoint connection for a factory.": {
+ "$ref": "./examples/ApproveRejectPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the private endpoint connection entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update."
+ },
+ {
+ "name": "privateEndpointWrapper",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkConnectionApprovalRequestResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ },
+ "default": {
+ "description": "An error response received from PUT privateEndpointConnections operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "privateEndpointConnections"
+ ],
+ "description": "Gets a private endpoint connection",
+ "operationId": "PrivateEndpointConnection_Get",
+ "x-ms-examples": {
+ "Get a private endpoint connection for a datafactory.": {
+ "$ref": "./examples/GetPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the private endpoint connection entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ },
+ "default": {
+ "description": "An error response received from GET privateEndpointConnections operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "privateEndpointConnections"
+ ],
+ "description": "Deletes a private endpoint connection",
+ "operationId": "PrivateEndpointConnection_Delete",
+ "x-ms-examples": {
+ "Delete a private endpoint connection for a datafactory.": {
+ "$ref": "./examples/DeletePrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "An error response received from DELETE privateEndpointConnections operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "privateLinkResources"
+ ],
+ "description": "Gets the private link resources",
+ "operationId": "privateLinkResources_Get",
+ "x-ms-examples": {
+ "Get private link resources of a site": {
+ "$ref": "./examples/GetPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesWrapper"
+ }
+ },
+ "default": {
+ "description": "App Service error response.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -6467,6 +6707,167 @@
"required": [
"properties"
]
+ },
+ "PrivateEndpointConnectionListResponse": {
+ "description": "A list of linked service resources.",
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Private Endpoint Connections.",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnectionResource"
+ }
+ },
+ "nextLink": {
+ "description": "The link to the next page of results, if any remaining results exist.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnectionResource": {
+ "description": "Private Endpoint Connection ARM resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RemotePrivateEndpointConnection",
+ "description": "Core resource properties"
+ }
+ }
+ },
+ "RemotePrivateEndpointConnection": {
+ "description": "A remote private endpoint connection",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/ArmIdWrapper",
+ "description": "PrivateEndpoint of a remote private endpoint connection"
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkConnectionState"
+ }
+ }
+ },
+ "ArmIdWrapper": {
+ "description": "A wrapper for an ARM resource id",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateLinkConnectionState": {
+ "description": "The state of a private link connection",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of a private link connection",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of a private link connection",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "ActionsRequired for a private link connection",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkConnectionApprovalRequestResource": {
+ "description": "Private Endpoint Connection Approval ARM resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest",
+ "description": "Core resource properties"
+ }
+ }
+ },
+ "PrivateLinkConnectionApprovalRequest": {
+ "description": "A request to approve or reject a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkConnectionState"
+ }
+ }
+ },
+ "PrivateLinkResourcesWrapper": {
+ "description": "Wrapper for a collection of private link resources",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Core resource properties"
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "Properties of a private link resource",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "GroupId of a private link resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "RequiredMembers of a private link resource",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "description": "RequiredZoneNames of a private link resource",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
@@ -6620,6 +7021,14 @@
"in": "query",
"required": true,
"type": "string"
+ },
+ "privateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "description": "The private endpoint connection name.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
}
}
}
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 3edf3c6f662c..8190250e9fd7 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
@@ -281,6 +281,10 @@
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
+ },
+ "alwaysEncryptedSettings": {
+ "$ref": "#/definitions/SqlAlwaysEncryptedProperties",
+ "description": "Sql always encrypted properties."
}
},
"required": [
@@ -337,6 +341,10 @@
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
+ },
+ "alwaysEncryptedSettings": {
+ "$ref": "#/definitions/SqlAlwaysEncryptedProperties",
+ "description": "Sql always encrypted properties."
}
},
"required": [
@@ -393,12 +401,44 @@
"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)."
+ },
+ "alwaysEncryptedSettings": {
+ "$ref": "#/definitions/SqlAlwaysEncryptedProperties",
+ "description": "Sql always encrypted properties."
}
},
"required": [
"connectionString"
]
},
+ "SqlAlwaysEncryptedProperties": {
+ "description": "Sql always encrypted properties.",
+ "properties": {
+ "alwaysEncryptedAkvAuthType": {
+ "x-ms-enum": {
+ "name": "SqlAlwaysEncryptedAkvAuthType",
+ "modelAsString": true
+ },
+ "enum": [
+ "ServicePrincipal",
+ "ManagedIdentity"
+ ],
+ "type": "string",
+ "description": "Sql always encrypted AKV authentication type. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalId": {
+ "type": "object",
+ "description": "The client ID of the application in Azure Active Directory used for Azure Key Vault authentication. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalKey": {
+ "$ref": "../datafactory.json#/definitions/SecretBase",
+ "description": "The key of the service principal used to authenticate against Azure Key Vault."
+ }
+ },
+ "required": [
+ "alwaysEncryptedAkvAuthType"
+ ]
+ },
"AzureBatchLinkedService": {
"x-ms-discriminator-value": "AzureBatch",
"description": "Azure Batch linked service.",
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 d7108076fc23..dff6c6cb4dcf 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
@@ -4841,6 +4841,36 @@
}
}
},
+ "MongoDbAtlasSink": {
+ "description": "A copy activity MongoDB Atlas sink.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySink"
+ }
+ ],
+ "properties": {
+ "writeBehavior": {
+ "type": "object",
+ "description": "Specifies whether the document with same key to be overwritten (upsert) rather than throw exception (insert). The default value is \"insert\". Type: string (or Expression with resultType string). Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "MongoDbV2Sink": {
+ "description": "A copy activity MongoDB sink.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySink"
+ }
+ ],
+ "properties": {
+ "writeBehavior": {
+ "type": "object",
+ "description": "Specifies whether the document with same key to be overwritten (upsert) rather than throw exception (insert). The default value is \"insert\". Type: string (or Expression with resultType string). Type: string (or Expression with resultType string)."
+ }
+ }
+ },
"CosmosDbMongoDbApiSink": {
"description": "A copy activity sink for a CosmosDB (MongoDB API) database.",
"type": "object",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ApproveRejectPrivateEndpointConnection.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ApproveRejectPrivateEndpointConnection.json
new file mode 100644
index 000000000000..d1383b20dfcf
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ApproveRejectPrivateEndpointConnection.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "privateEndpointConnectionName": "connection",
+ "api-version": "2018-06-01",
+ "ifMatch": null,
+ "privateEndpointWrapper": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin.",
+ "actionsRequired": ""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "exampleFactoryName",
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName",
+ "type": "Microsoft.DataFactory/factories/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin.",
+ "actionsRequired": ""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DeletePrivateEndpointConnection.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..67eac150e7bc
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/DeletePrivateEndpointConnection.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "privateEndpointConnectionName": "connection",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/GetPrivateEndpointConnection.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/GetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..79c8a974a95a
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/GetPrivateEndpointConnection.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "privateEndpointConnectionName": "connection",
+ "api-version": "2018-06-01",
+ "ifNoneMatch": "1500504f-0000-0200-0000-5cbe090f0000"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "exampleFactoryName",
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName",
+ "type": "Microsoft.DataFactory/factories/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin.",
+ "actionsRequired": ""
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/GetPrivateLinkResources.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/GetPrivateLinkResources.json
new file mode 100644
index 000000000000..878c9a564c6d
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/GetPrivateLinkResources.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "exampleFactoryName",
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName",
+ "type": "Microsoft.DataFactory/factories/privateLinkResources",
+ "properties": {
+ "groupId": "dataFactory",
+ "requiredMembers": [
+ "dataFactory"
+ ],
+ "requiredZoneNames": [
+ "privatelink.datafactory.azure.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/PrivateEndPointConnections_ListByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/PrivateEndPointConnections_ListByFactory.json
new file mode 100644
index 000000000000..10bff0b52051
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/PrivateEndPointConnections_ListByFactory.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Jun 2020 21:33:05 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "14908",
+ "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6",
+ "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6"
+ },
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/privateEndpoints/myPrivateEndpoint",
+ "name": "factories",
+ "type": "Microsoft.DataFactory/factories/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by admin.",
+ "actionsRequired": "exampleActionsRequired"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/readme.go.md b/specification/datafactory/resource-manager/readme.go.md
index 91ee03e48573..b2f44faecb37 100644
--- a/specification/datafactory/resource-manager/readme.go.md
+++ b/specification/datafactory/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: datafactory
clear-output-folder: true
```
diff --git a/specification/datalake-analytics/data-plane/readme.go.md b/specification/datalake-analytics/data-plane/readme.go.md
index 73aa2dca184c..832c2072b58d 100644
--- a/specification/datalake-analytics/data-plane/readme.go.md
+++ b/specification/datalake-analytics/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
diff --git a/specification/datalake-analytics/resource-manager/readme.go.md b/specification/datalake-analytics/resource-manager/readme.go.md
index 3fe5176fc732..c4f0b7e1a376 100644
--- a/specification/datalake-analytics/resource-manager/readme.go.md
+++ b/specification/datalake-analytics/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: account
clear-output-folder: true
```
diff --git a/specification/datalake-store/data-plane/readme.go.md b/specification/datalake-store/data-plane/readme.go.md
index 1e8647facc97..5aa88985c11e 100644
--- a/specification/datalake-store/data-plane/readme.go.md
+++ b/specification/datalake-store/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: filesystem
clear-output-folder: true
```
diff --git a/specification/datalake-store/resource-manager/readme.go.md b/specification/datalake-store/resource-manager/readme.go.md
index a24ac00912c7..a2f35be6fc01 100644
--- a/specification/datalake-store/resource-manager/readme.go.md
+++ b/specification/datalake-store/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: account
clear-output-folder: true
```
diff --git a/specification/datamigration/resource-manager/readme.go.md b/specification/datamigration/resource-manager/readme.go.md
index bb3a6ffef642..a843190f2b45 100644
--- a/specification/datamigration/resource-manager/readme.go.md
+++ b/specification/datamigration/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: datamigration
```
diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md
index 5050fb4c3c00..8fa6f78101e7 100644
--- a/specification/datamigration/resource-manager/readme.md
+++ b/specification/datamigration/resource-manager/readme.md
@@ -188,6 +188,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-python-track2
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
@@ -211,6 +212,10 @@ csharp:
clear-output-folder: true
```
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## Go
See configuration in [readme.go.md](./readme.go.md)
diff --git a/specification/datamigration/resource-manager/readme.python.md b/specification/datamigration/resource-manager/readme.python.md
index 3a7c5f256f06..1e32099cbf9c 100644
--- a/specification/datamigration/resource-manager/readme.python.md
+++ b/specification/datamigration/resource-manager/readme.python.md
@@ -4,7 +4,7 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
+``` yaml $(python) && !$(track2)
python-mode: create
python:
azure-arm: true
@@ -15,13 +15,32 @@ python:
package-version: 0.2.0
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
+``` yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.datamigration
+package-name: azure-mgmt-datamigration
+package-version: 0.2.0
+clear-output-folder: true
+```
+
+
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/datamigration/azure-mgmt-datamigration/azure/mgmt/datamigration
```
-``` yaml $(python) && $(python-mode) == 'create'
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/datamigration/azure-mgmt-datamigration/azure/mgmt/datamigration
+```
+
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
python:
basic-setup-py: true
output-folder: $(python-sdks-folder)/datamigration/azure-mgmt-datamigration
```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/datamigration/azure-mgmt-datamigration
+```
\ No newline at end of file
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
index 3322759d5c32..710335d51a87 100644
--- a/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
@@ -945,6 +945,7 @@
"tags": [
"BackupInstances"
],
+ "description": "Create or update a backup instance in a backup vault",
"operationId": "BackupInstances_CreateOrUpdate",
"produces": [
"application/json"
@@ -1010,6 +1011,7 @@
"tags": [
"BackupInstances"
],
+ "description": "Delete a backup instance in a backup vault",
"operationId": "BackupInstances_Delete",
"produces": [
"application/json"
@@ -1768,6 +1770,9 @@
"application/json"
],
"parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
{
"$ref": "#/parameters/SubscriptionId"
},
@@ -1825,6 +1830,9 @@
"application/json"
],
"parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
{
"$ref": "#/parameters/SubscriptionId"
},
@@ -2345,8 +2353,7 @@
"properties": {
"properties": {
"$ref": "#/definitions/AzureBackupRecoveryPoint",
- "description": "AzureBackupRecoveryPointResource properties",
- "x-ms-client-flatten": true
+ "description": "AzureBackupRecoveryPointResource properties"
}
},
"title": "AzureBackupRecoveryPointResource"
@@ -2513,7 +2520,7 @@
],
"properties": {
"resourceGroupId": {
- "description": "Gets or sets the Resource Group Uri.",
+ "description": "Gets or sets the Snapshot Resource Group Uri.",
"type": "string"
}
},
@@ -2564,7 +2571,6 @@
"BackupInstance": {
"description": "Backup Instance",
"required": [
- "friendlyName",
"dataSourceInfo",
"policyInfo",
"objectType"
@@ -2640,8 +2646,7 @@
"properties": {
"properties": {
"$ref": "#/definitions/BackupInstance",
- "description": "BackupInstanceResource properties",
- "x-ms-client-flatten": true
+ "description": "BackupInstanceResource properties"
}
},
"title": "BackupInstanceResource"
@@ -2748,6 +2753,9 @@
"type": "array"
}
},
+ "required": [
+ "storageSettings"
+ ],
"title": "BackupVault",
"type": "object"
},
@@ -2761,10 +2769,13 @@
"properties": {
"properties": {
"$ref": "#/definitions/BackupVault",
- "description": "BackupVaultResource properties",
- "x-ms-client-flatten": true
+ "description": "BackupVaultResource properties"
}
},
+ "required": [
+ "location",
+ "properties"
+ ],
"title": "BackupVault Resource"
},
"BackupVaultResourceList": {
@@ -2818,8 +2829,7 @@
"properties": {
"properties": {
"$ref": "#/definitions/BaseBackupPolicy",
- "description": "BaseBackupPolicyResource properties",
- "x-ms-client-flatten": true
+ "description": "BaseBackupPolicyResource properties"
}
},
"title": "BaseBackupPolicyResource"
@@ -3001,8 +3011,7 @@
},
"properties": {
"$ref": "#/definitions/ClientDiscoveryForProperties",
- "description": "Properties for the given operation.",
- "x-ms-client-flatten": true
+ "description": "Properties for the given operation."
}
},
"title": "ClientDiscoveryValueForSingleApi",
@@ -3641,6 +3650,52 @@
"title": "InnerError",
"type": "object"
},
+ "ItemLevelRestoreCriteria": {
+ "description": "Class to contain criteria for item level restore",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ItemLevelRestoreTargetInfo": {
+ "description": "Restore target info for Item level restore operation",
+ "required": [
+ "restoreCriteria",
+ "datasourceInfo",
+ "recoveryOption"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "properties": {
+ "restoreCriteria": {
+ "description": "Restore Criteria",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ },
+ "datasourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Information of target DS"
+ },
+ "datasourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Information of target DS Set"
+ }
+ },
+ "x-ms-discriminator-value": "ItemLevelRestoreTargetInfo"
+ },
"JobExtendedInfo": {
"description": "Extended Information about the job",
"properties": {
@@ -3774,8 +3829,7 @@
},
"properties": {
"$ref": "#/definitions/OperationExtendedInfo",
- "description": "End time of the operation",
- "x-ms-client-flatten": true
+ "description": "End time of the operation"
},
"startTime": {
"description": "Start time of the operation",
@@ -3868,6 +3922,26 @@
"title": "ProtectionStatusDetails",
"type": "object"
},
+ "RangeBasedItemLevelRestoreCriteria": {
+ "description": "Item Level target info for restore operation",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "minMatchingValue": {
+ "description": "minimum value for range prefix match",
+ "type": "string"
+ },
+ "maxMatchingValue": {
+ "description": "maximum value for range prefix match",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "RangeBasedItemLevelRestoreCriteria"
+ },
"RecoveryPointDataStoreDetails": {
"description": "RecoveryPoint datastore details",
"properties": {
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/dataprotection.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
new file mode 100644
index 000000000000..b07d7b3bc7e2
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
@@ -0,0 +1,4607 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-01-01",
+ "title": "DataProtectionBackupClient",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": false
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/backupVaults": {
+ "get": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Returns resource collection belonging to a subscription.",
+ "operationId": "BackupVaults_GetResourcesInSubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get BackupVaults in Subscription": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultsInSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "GetOperationResult"
+ ],
+ "description": "Gets the operation result for a resource",
+ "operationId": "OperationResult_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "summary": "Gets the operation status for a resource.",
+ "x-ms-examples": {
+ "Get OperationResult": {
+ "$ref": "./examples/GetOperationResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/operationStatus/{operationId}": {
+ "get": {
+ "tags": [
+ "OperationStatus"
+ ],
+ "summary": "Gets the operation status for a resource.",
+ "operationId": "GetOperationStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get OperationStatus": {
+ "$ref": "./examples/GetOperationStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults": {
+ "get": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Returns resource collection belonging to a resource group.",
+ "operationId": "BackupVaults_GetResourcesInResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get BackupVaults in ResourceGroup": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultsInResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}": {
+ "get": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Returns a resource belonging to a resource group.",
+ "operationId": "BackupVaults_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get BackupVault": {
+ "$ref": "./examples/VaultCRUD/GetBackupVault.json"
+ },
+ "Get BackupVault With MSI": {
+ "$ref": "./examples/VaultCRUD/GetBackupVaultWithMSI.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Creates or updates a BackupVault resource belonging to a resource group.",
+ "operationId": "BackupVaults_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create BackupVault": {
+ "$ref": "./examples/VaultCRUD/PutBackupVault.json"
+ },
+ "Create BackupVault With MSI": {
+ "$ref": "./examples/VaultCRUD/PutBackupVaultWithMSI.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Deletes a BackupVault resource from the resource group.",
+ "operationId": "BackupVaults_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete BackupVault": {
+ "$ref": "./examples/VaultCRUD/DeleteBackupVault.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "description": "Updates a BackupVault resource belonging to a resource group. For example, updating tags for a resource.",
+ "operationId": "BackupVaults_Patch",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchResourceRequestInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Patch BackupVault": {
+ "$ref": "./examples/VaultCRUD/PatchBackupVault.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/operationResults/{operationId}": {
+ "get": {
+ "tags": [
+ "Resources"
+ ],
+ "operationId": "GetOperationResultPatch",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupVaultResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetOperationResult Patch": {
+ "$ref": "./examples/VaultCRUD/GetOperationResultPatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "BackupVaults"
+ ],
+ "summary": "API to check for resource name availability",
+ "operationId": "BackupVaults_CheckNameAvailability",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "The location in which uniqueness will be verified.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Check name availability request",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check BackupVaults name availability": {
+ "$ref": "./examples/VaultCRUD/CheckBackupVaultsNameAvailability.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataProtection/locations/{location}/checkFeatureSupport": {
+ "post": {
+ "tags": [
+ "DppFeatureSupport"
+ ],
+ "summary": "Validates if a feature is supported",
+ "operationId": "CheckFeatureSupport",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Feature support request object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FeatureValidationRequestBase"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FeatureValidationResponseBase"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Check Azure Vm Backup Feature Support": {
+ "$ref": "./examples/CheckfeatureSupport.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DataProtection/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Returns the list of available operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClientDiscoveryResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "description": "Returns list of backup policies belonging to a backup vault",
+ "operationId": "BackupPolicies_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/ListBackupPolicy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName}": {
+ "get": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "operationId": "BackupPolicies_Get",
+ "description": "Gets a backup policy belonging to a backup vault",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "summary": "Gets a backup policy belonging to a backup vault",
+ "x-ms-examples": {
+ "Get BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/GetBackupPolicy.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "operationId": "BackupPolicies_CreateOrUpdate",
+ "summary": "Creates or Updates a backup policy belonging to a backup vault",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CreateOrUpdate BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BackupPolicies"
+ ],
+ "operationId": "BackupPolicies_Delete",
+ "summary": "Deletes a backup policy belonging to a backup vault",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete BackupPolicy": {
+ "$ref": "./examples/PolicyCRUD/DeleteBackupPolicy.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances": {
+ "get": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Gets a backup instances belonging to a backup vault",
+ "operationId": "BackupInstances_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List BackupInstances in a Vault": {
+ "$ref": "./examples/BackupInstanceOperations/ListBackupInstances.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}": {
+ "get": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Gets a backup instance with name in a backup vault",
+ "operationId": "BackupInstances_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/GetBackupInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Create or update a backup instance in a backup vault",
+ "operationId": "BackupInstances_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/PutBackupInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Delete a backup instance in a backup vault",
+ "operationId": "BackupInstances_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "200": {
+ "description": "Ok"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete BackupInstance": {
+ "$ref": "./examples/BackupInstanceOperations/DeleteBackupInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/backup": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Trigger adhoc backup ",
+ "operationId": "BackupInstances_AdhocBackup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TriggerBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Trigger Adhoc Backup": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerBackup.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/validateForBackup": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Validate whether adhoc backup will be successful or not",
+ "operationId": "BackupInstances_ValidateForBackup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateForBackupRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate For Backup": {
+ "$ref": "./examples/BackupInstanceOperations/ValidateForBackup.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints": {
+ "get": {
+ "tags": [
+ "RecoveryPoint"
+ ],
+ "description": "Returns a list of Recovery Points for a DataSource in a vault.",
+ "operationId": "RecoveryPoints_GetList",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "skipToken Filter.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RecoveryPointsFilters",
+ "x-ms-examples": {
+ "List Recovery Points in a Vault": {
+ "$ref": "./examples/BackupInstanceOperations/ListRecoveryPoints.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/recoveryPoints/{recoveryPointId}": {
+ "get": {
+ "tags": [
+ "RecoveryPoint"
+ ],
+ "description": "Gets a Recovery Point using recoveryPointId for a Datasource.",
+ "operationId": "RecoveryPoint_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "recoveryPointId",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Recovery Point": {
+ "$ref": "./examples/BackupInstanceOperations/GetRecoveryPoint.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/rehydrate": {
+ "post": {
+ "description": "rehydrate recovery point for restore for a BackupInstance",
+ "operationId": "BackupInstances_TriggerRehydrate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "description": "Request body for operation",
+ "in": "body",
+ "name": "parameters",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRehydrationRequest"
+ }
+ },
+ {
+ "in": "path",
+ "name": "backupInstanceName",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "tags": [
+ "BackupInstances"
+ ],
+ "x-ms-examples": {
+ "Trigger Rehydrate": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRehydrate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/restore": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Triggers restore for a BackupInstance",
+ "operationId": "BackupInstances_TriggerRestore",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureBackupRestoreRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Trigger Restore": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRestore.json"
+ },
+ "Trigger Restore As Files": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRestoreAsFiles.json"
+ },
+ "Trigger Restore With Rehydration": {
+ "$ref": "./examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}/validateRestore": {
+ "post": {
+ "tags": [
+ "BackupInstances"
+ ],
+ "description": "Validates if Restore can be triggered for a DataSource",
+ "operationId": "BackupInstances_ValidateRestore",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstanceName",
+ "description": "The name of the backup instance",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ValidateRestoreRequestObject"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Contains additional information like job Id",
+ "schema": {
+ "$ref": "#/definitions/OperationJobExtendedInfo"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Azure-AsyncOperation": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Validate Restore": {
+ "$ref": "./examples/BackupInstanceOperations/ValidateRestore.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs": {
+ "get": {
+ "tags": [
+ "AzureBackupJobs"
+ ],
+ "description": "Returns list of jobs belonging to a backup vault",
+ "operationId": "Jobs_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupJobResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Jobs": {
+ "$ref": "./examples/JobCRUD/ListJobs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstances}/findRestorableTimeRanges": {
+ "post": {
+ "tags": [
+ "FindRestorableTimeRanges"
+ ],
+ "operationId": "FindRestorableTimeRanges_Post",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "name": "backupInstances",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "Request body for operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponseResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Find Restorable Time Ranges": {
+ "$ref": "./examples/BackupInstanceOperations/FindRestorableTimeRanges.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/{jobId}": {
+ "get": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Gets a job with id in a backup vault",
+ "operationId": "Job_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "jobId",
+ "description": "The Job ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBackupJobResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Job": {
+ "$ref": "./examples/JobCRUD/GetJob.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/exportBackupJobs": {
+ "post": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Triggers export of jobs and returns an OperationID to track.",
+ "operationId": "ExportJobs_Trigger",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Trigger Export Jobs": {
+ "$ref": "./examples/JobCRUD/TriggerExportJobs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupJobs/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "AzureBackupJob"
+ ],
+ "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.",
+ "operationId": "ExportJobsOperationResult_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "name": "operationId",
+ "description": "OperationID which represents the export job.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExportJobsResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Export Jobs Operation Result": {
+ "$ref": "./examples/JobCRUD/GetExportJobsOperationResult.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AbsoluteDeleteOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeleteOption"
+ }
+ ],
+ "description": "Delete option with duration",
+ "required": [
+ "duration",
+ "objectType"
+ ],
+ "title": "AbsoluteDeleteOption",
+ "type": "object",
+ "x-ms-discriminator-value": "AbsoluteDeleteOption"
+ },
+ "RecoveryPointsFilters": {
+ "type": "object",
+ "properties": {
+ "restorePointDataStoreId": {
+ "type": "string"
+ },
+ "isVisible": {
+ "type": "boolean"
+ },
+ "startDate": {
+ "type": "string"
+ },
+ "endDate": {
+ "type": "string"
+ },
+ "extendedInfo": {
+ "type": "boolean"
+ },
+ "restorePointState": {
+ "type": "string"
+ }
+ }
+ },
+ "AdHocBackupRuleOptions": {
+ "description": "Adhoc backup rules",
+ "properties": {
+ "ruleName": {
+ "type": "string"
+ },
+ "triggerOption": {
+ "$ref": "#/definitions/AdhocBackupTriggerOption"
+ }
+ },
+ "required": [
+ "ruleName",
+ "triggerOption"
+ ],
+ "title": "AdHocBackupRuleOptions",
+ "type": "object"
+ },
+ "AdhocBackupTriggerOption": {
+ "description": "Adhoc backup trigger option",
+ "properties": {
+ "retentionTagOverride": {
+ "type": "string"
+ }
+ },
+ "title": "AdhocBackupTriggerOption",
+ "type": "object"
+ },
+ "AdhocBasedTaggingCriteria": {
+ "description": "Adhoc backup tagging criteria",
+ "properties": {
+ "tagInfo": {
+ "$ref": "#/definitions/RetentionTag",
+ "description": "Retention tag information"
+ }
+ },
+ "title": "AdhocBasedTaggingCriteria",
+ "type": "object"
+ },
+ "AdhocBasedTriggerContext": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/TriggerContext"
+ }
+ ],
+ "description": "Adhoc trigger context",
+ "properties": {
+ "taggingCriteria": {
+ "$ref": "#/definitions/AdhocBasedTaggingCriteria",
+ "description": "Tagging Criteria containing retention tag for adhoc backup."
+ }
+ },
+ "required": [
+ "objectType",
+ "taggingCriteria"
+ ],
+ "title": "AdhocBasedTriggerContext",
+ "type": "object",
+ "x-ms-discriminator-value": "AdhocBasedTriggerContext"
+ },
+ "AzureBackupDiscreteRecoveryPoint": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRecoveryPoint"
+ }
+ ],
+ "description": "Azure backup discrete RecoveryPoint",
+ "properties": {
+ "friendlyName": {
+ "type": "string"
+ },
+ "recoveryPointDataStoresDetails": {
+ "items": {
+ "$ref": "#/definitions/RecoveryPointDataStoreDetails"
+ },
+ "type": "array"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "policyName": {
+ "type": "string"
+ },
+ "policyVersion": {
+ "type": "string"
+ },
+ "recoveryPointId": {
+ "type": "string"
+ },
+ "recoveryPointType": {
+ "type": "string"
+ },
+ "retentionTagName": {
+ "type": "string"
+ },
+ "retentionTagVersion": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointTime"
+ ],
+ "title": "AzureBackupDiscreteRecoveryPoint",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupDiscreteRecoveryPoint"
+ },
+ "AzureBackupFindRestorableTimeRangesRequest": {
+ "description": "List Restore Ranges Request",
+ "required": [
+ "sourceDataStoreType",
+ "startTime",
+ "endTime"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceDataStoreType": {
+ "description": "Gets or sets the type of the source data store.",
+ "enum": [
+ "OperationalStore",
+ "VaultStore",
+ "ArchiveStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreSourceDataStoreType",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "description": "Start time for the List Restore Ranges request",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "End time for the List Restore Ranges request",
+ "type": "string"
+ }
+ }
+ },
+ "AzureBackupFindRestorableTimeRangesRequestResource": {
+ "description": "List Restore Ranges Request",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppWorkerRequest"
+ }
+ ],
+ "properties": {
+ "content": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesRequest",
+ "description": "AzureBackupFindRestorableTimeRangesRequestResource content"
+ }
+ }
+ },
+ "AzureBackupFindRestorableTimeRangesResponse": {
+ "description": "List Restore Ranges Response",
+ "type": "object",
+ "properties": {
+ "restorableTimeRanges": {
+ "description": "Returns the Restore Ranges available on the Backup Instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RestorableTimeRange"
+ }
+ },
+ "objectType": {
+ "type": "string"
+ }
+ }
+ },
+ "AzureBackupFindRestorableTimeRangesResponseResource": {
+ "description": "List Restore Ranges Response",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureBackupFindRestorableTimeRangesResponse",
+ "description": "AzureBackupFindRestorableTimeRangesResponseResource properties"
+ }
+ }
+ },
+ "AzureBackupJob": {
+ "description": "AzureBackup Job Class",
+ "properties": {
+ "activityID": {
+ "description": "Job Activity Id",
+ "type": "string"
+ },
+ "backupInstanceFriendlyName": {
+ "description": "Name of the Backup Instance",
+ "type": "string"
+ },
+ "backupInstanceId": {
+ "description": "ARM ID of the Backup Instance",
+ "readOnly": true,
+ "type": "string"
+ },
+ "dataSourceId": {
+ "description": "ARM ID of the DataSource",
+ "type": "string"
+ },
+ "dataSourceLocation": {
+ "description": "Location of the DataSource",
+ "type": "string"
+ },
+ "dataSourceName": {
+ "description": "User Friendly Name of the DataSource",
+ "type": "string"
+ },
+ "dataSourceSetName": {
+ "description": "Data Source Set Name of the DataSource",
+ "type": "string"
+ },
+ "dataSourceType": {
+ "description": "Type of DataSource",
+ "type": "string"
+ },
+ "duration": {
+ "description": "Total run time of the job. ISO 8601 format.",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "EndTime of the job(in UTC)",
+ "format": "date-time",
+ "readOnly": true,
+ "type": "string"
+ },
+ "errorDetails": {
+ "description": "A List, detailing the errors related to the job",
+ "items": {
+ "$ref": "#/definitions/UserFacingError"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "extendedInfo": {
+ "$ref": "#/definitions/JobExtendedInfo",
+ "description": "Extended Information about the job",
+ "readOnly": true
+ },
+ "isUserTriggered": {
+ "description": "Indicated that whether the job is adhoc(true) or scheduled(false)",
+ "type": "boolean"
+ },
+ "operation": {
+ "description": "It indicates the type of Job i.e. Backup:full/log/diff ;Restore:ALR/OLR; Tiering:Backup/Archive ; Management:ConfigureProtection/UnConfigure",
+ "type": "string"
+ },
+ "operationCategory": {
+ "description": "It indicates the type of Job i.e. Backup/Restore/Tiering/Management",
+ "type": "string"
+ },
+ "policyId": {
+ "description": "ARM ID of the policy",
+ "readOnly": true,
+ "type": "string"
+ },
+ "policyName": {
+ "description": "Name of the policy",
+ "readOnly": true,
+ "type": "string"
+ },
+ "progressEnabled": {
+ "description": "Indicated whether progress is enabled for the job",
+ "type": "boolean"
+ },
+ "progressUrl": {
+ "description": "Url which contains job's progress",
+ "readOnly": true,
+ "type": "string"
+ },
+ "restoreType": {
+ "description": "It indicates the sub type of operation i.e. in case of Restore it can be ALR/OLR",
+ "readOnly": true,
+ "type": "string"
+ },
+ "sourceResourceGroup": {
+ "description": "Resource Group Name of the Datasource",
+ "type": "string"
+ },
+ "sourceSubscriptionID": {
+ "description": "SubscriptionId corresponding to the DataSource",
+ "type": "string"
+ },
+ "startTime": {
+ "description": "StartTime of the job(in UTC)",
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the job like InProgress/Success/Failed/Cancelled/SuccessWithWarning",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription Id of the corresponding backup vault",
+ "type": "string"
+ },
+ "supportedActions": {
+ "description": "List of supported actions",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "vaultName": {
+ "description": "Name of the vault",
+ "type": "string"
+ },
+ "etag": {
+ "type": "string"
+ },
+ "sourceDataStoreName": {
+ "type": "string"
+ },
+ "destinationDataStoreName": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "activityID",
+ "subscriptionId",
+ "dataSourceId",
+ "vaultName",
+ "backupInstanceFriendlyName",
+ "sourceResourceGroup",
+ "dataSourceSetName",
+ "dataSourceName",
+ "progressEnabled",
+ "sourceSubscriptionID",
+ "dataSourceLocation",
+ "startTime",
+ "dataSourceType",
+ "operationCategory",
+ "operation",
+ "status",
+ "isUserTriggered",
+ "supportedActions"
+ ],
+ "type": "object"
+ },
+ "AzureBackupJobResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "AzureBackup Job Resource Class",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureBackupJob",
+ "description": "AzureBackupJobResource properties",
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "AzureBackupJobResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "List of AzureBackup Job resources",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/AzureBackupJobResource"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "AzureBackupParams": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupParameters"
+ }
+ ],
+ "description": "Azure backup parameters",
+ "properties": {
+ "backupType": {
+ "description": "BackupType ; Full/Incremental etc",
+ "type": "string"
+ }
+ },
+ "required": [
+ "backupType",
+ "objectType"
+ ],
+ "title": "AzureBackupParams",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupParams"
+ },
+ "AzureBackupRecoveryPoint": {
+ "description": "Azure backup recoveryPoint",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "AzureBackupRecoveryPoint",
+ "type": "object"
+ },
+ "AzureBackupRecoveryPointBasedRestoreRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRestoreRequest"
+ }
+ ],
+ "description": "Azure backup recoveryPoint based restore request",
+ "properties": {
+ "recoveryPointId": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointId"
+ ],
+ "title": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRecoveryPointBasedRestoreRequest"
+ },
+ "AzureBackupRecoveryPointResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "Azure backup recoveryPoint resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureBackupRecoveryPoint",
+ "description": "AzureBackupRecoveryPointResource properties"
+ }
+ },
+ "title": "AzureBackupRecoveryPointResource"
+ },
+ "AzureBackupRecoveryPointResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "Azure backup recoveryPoint resource list",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/AzureBackupRecoveryPointResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "AzureBackupRecoveryPointResourceList",
+ "type": "object"
+ },
+ "AzureBackupRehydrationRequest": {
+ "description": "Azure Backup Rehydrate Request",
+ "properties": {
+ "recoveryPointId": {
+ "description": "Id of the recovery point to be recovered",
+ "type": "string"
+ },
+ "rehydrationPriority": {
+ "description": "Priority to be used for rehydration. Values High or Standard",
+ "$ref": "#/definitions/RehydrationPriority"
+ },
+ "rehydrationRetentionDuration": {
+ "description": "Retention duration in ISO 8601 format i.e P10D .",
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointId",
+ "rehydrationRetentionDuration"
+ ],
+ "title": "AzureBackupRehydrationRequest",
+ "type": "object"
+ },
+ "AzureBackupRestoreRequest": {
+ "description": "Azure backup restore request",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "type": "string"
+ },
+ "restoreTargetInfo": {
+ "$ref": "#/definitions/RestoreTargetInfoBase",
+ "description": "Gets or sets the restore target information."
+ },
+ "sourceDataStoreType": {
+ "description": "Gets or sets the type of the source data store.",
+ "enum": [
+ "ArchiveStore",
+ "SnapshotStore",
+ "VaultStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SourceDataStoreType"
+ }
+ }
+ },
+ "required": [
+ "objectType",
+ "restoreTargetInfo",
+ "sourceDataStoreType"
+ ],
+ "title": "AzureBackupRestoreRequest",
+ "type": "object"
+ },
+ "AzureBackupRestoreWithRehydrationRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRecoveryPointBasedRestoreRequest"
+ }
+ ],
+ "description": "AzureBackup Restore with Rehydration Request",
+ "properties": {
+ "rehydrationPriority": {
+ "description": "Priority to be used for rehydration. Values High or Standard",
+ "$ref": "#/definitions/RehydrationPriority"
+ },
+ "rehydrationRetentionDuration": {
+ "description": "Retention duration in ISO 8601 format i.e P10D .",
+ "type": "string"
+ }
+ },
+ "required": [
+ "rehydrationPriority",
+ "rehydrationRetentionDuration"
+ ],
+ "title": "AzureBackupRestoreWithRehydrationRequest",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRestoreWithRehydrationRequest"
+ },
+ "AzureBackupRecoveryTimeBasedRestoreRequest": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureBackupRestoreRequest"
+ }
+ ],
+ "description": "AzureBackup RecoveryPointTime Based Restore Request",
+ "properties": {
+ "recoveryPointTime": {
+ "description": "The recovery time in ISO 8601 format example - 2020-08-14T17:30:00.0000000Z.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "recoveryPointTime"
+ ],
+ "title": "AzureBackupRecoveryTimeBasedRestoreRequest",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRecoveryTimeBasedRestoreRequest"
+ },
+ "AzureBackupRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BasePolicyRule"
+ }
+ ],
+ "description": "Azure backup rule",
+ "properties": {
+ "backupParameters": {
+ "$ref": "#/definitions/BackupParameters"
+ },
+ "dataStore": {
+ "$ref": "#/definitions/DataStoreInfoBase"
+ },
+ "trigger": {
+ "$ref": "#/definitions/TriggerContext"
+ }
+ },
+ "required": [
+ "dataStore",
+ "name",
+ "objectType",
+ "trigger"
+ ],
+ "title": "AzureBackupRule",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureBackupRule"
+ },
+ "AzureOperationalStoreParameters": {
+ "description": "Parameters for Operational-Tier DataStore",
+ "required": [
+ "objectType",
+ "dataStoreType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataStoreParameters"
+ }
+ ],
+ "properties": {
+ "resourceGroupId": {
+ "description": "Gets or sets the Snapshot Resource Group Uri.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureOperationalStoreParameters"
+ },
+ "AzureRetentionRule": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BasePolicyRule"
+ }
+ ],
+ "description": "Azure retention rule",
+ "properties": {
+ "isDefault": {
+ "type": "boolean"
+ },
+ "lifecycles": {
+ "items": {
+ "$ref": "#/definitions/SourceLifeCycle"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "lifecycles",
+ "name",
+ "objectType"
+ ],
+ "title": "AzureRetentionRule",
+ "type": "object",
+ "x-ms-discriminator-value": "AzureRetentionRule"
+ },
+ "BackupCriteria": {
+ "description": "BackupCriteria base class",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "BackupCriteria",
+ "type": "object"
+ },
+ "BackupInstance": {
+ "description": "Backup Instance",
+ "required": [
+ "dataSourceInfo",
+ "policyInfo",
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "description": "Gets or sets the Backup Instance friendly name.",
+ "type": "string"
+ },
+ "dataSourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Gets or sets the data source information."
+ },
+ "dataSourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Gets or sets the data source set information."
+ },
+ "policyInfo": {
+ "$ref": "#/definitions/PolicyInfo",
+ "description": "Gets or sets the policy information."
+ },
+ "protectionStatus": {
+ "$ref": "#/definitions/ProtectionStatusDetails",
+ "description": "Specifies the protection status of the resource",
+ "readOnly": true
+ },
+ "currentProtectionState": {
+ "description": "Specifies the current protection state of the resource",
+ "enum": [
+ "Invalid",
+ "NotProtected",
+ "ConfiguringProtection",
+ "ProtectionConfigured",
+ "BackupSchedulesSuspended",
+ "RetentionSchedulesSuspended",
+ "ProtectionStopped",
+ "ProtectionError",
+ "ConfiguringProtectionFailed",
+ "SoftDeleting",
+ "SoftDeleted",
+ "UpdatingProtection"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CurrentProtectionState",
+ "modelAsString": true
+ }
+ },
+ "protectionErrorDetails": {
+ "$ref": "#/definitions/UserFacingError",
+ "description": "Specifies the protection error of the resource",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Specifies the provisioning state of the resource i.e. provisioning/updating/Succeeded/Failed",
+ "type": "string",
+ "readOnly": true
+ },
+ "objectType": {
+ "type": "string"
+ }
+ }
+ },
+ "BackupInstanceResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "BackupInstance Resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupInstance",
+ "description": "BackupInstanceResource properties"
+ }
+ },
+ "title": "BackupInstanceResource"
+ },
+ "BackupInstanceResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "BackupInstance Resource list response",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/BackupInstanceResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "BackupInstanceResourceList",
+ "type": "object"
+ },
+ "BackupParameters": {
+ "description": "BackupParameters base",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "BackupParameters",
+ "type": "object"
+ },
+ "BackupPolicy": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BaseBackupPolicy"
+ }
+ ],
+ "description": "Rule based backup policy",
+ "properties": {
+ "policyRules": {
+ "description": "Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc",
+ "items": {
+ "$ref": "#/definitions/BasePolicyRule"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "datasourceTypes",
+ "policyRules"
+ ],
+ "title": "BackupPolicy",
+ "type": "object",
+ "x-ms-discriminator-value": "BackupPolicy"
+ },
+ "BackupSchedule": {
+ "description": "Schedule for backup",
+ "properties": {
+ "repeatingTimeIntervals": {
+ "description": "ISO 8601 repeating time interval format",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "repeatingTimeIntervals"
+ ],
+ "title": "BackupSchedule",
+ "type": "object"
+ },
+ "BackupVault": {
+ "description": "Backup Vault",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the BackupVault resource",
+ "enum": [
+ "Failed",
+ "Provisioning",
+ "Succeeded",
+ "Unknown",
+ "Updating"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningState"
+ }
+ },
+ "storageSettings": {
+ "description": "Storage Settings",
+ "items": {
+ "$ref": "#/definitions/StorageSetting"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "storageSettings"
+ ],
+ "title": "BackupVault",
+ "type": "object"
+ },
+ "BackupVaultResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppTrackedResource"
+ }
+ ],
+ "description": "Backup Vault Resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BackupVault",
+ "description": "BackupVaultResource properties"
+ }
+ },
+ "required": [
+ "location",
+ "properties"
+ ],
+ "title": "BackupVault Resource"
+ },
+ "BackupVaultResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "List of BackupVault resources",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/BackupVaultResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "BackupVaultResourceList",
+ "type": "object"
+ },
+ "BaseBackupPolicy": {
+ "description": "BackupPolicy base",
+ "discriminator": "objectType",
+ "properties": {
+ "datasourceTypes": {
+ "description": "Type of datasource for the backup management",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "objectType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "datasourceTypes",
+ "objectType"
+ ],
+ "title": "BaseBackupPolicy",
+ "type": "object"
+ },
+ "BaseBackupPolicyResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResource"
+ }
+ ],
+ "description": "BaseBackupPolicy resource",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BaseBackupPolicy",
+ "description": "BaseBackupPolicyResource properties"
+ }
+ },
+ "title": "BaseBackupPolicyResource"
+ },
+ "BaseBackupPolicyResourceList": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DppResourceList"
+ }
+ ],
+ "description": "List of BaseBackupPolicy resources",
+ "properties": {
+ "value": {
+ "description": "List of resources.",
+ "items": {
+ "$ref": "#/definitions/BaseBackupPolicyResource"
+ },
+ "type": "array"
+ }
+ },
+ "title": "BaseBackupPolicyResourceList",
+ "type": "object"
+ },
+ "BasePolicyRule": {
+ "description": "BasePolicy Rule",
+ "discriminator": "objectType",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "objectType": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "objectType"
+ ],
+ "title": "BasePolicyRule",
+ "type": "object"
+ },
+ "CheckNameAvailabilityRequest": {
+ "description": "CheckNameAvailability Request",
+ "properties": {
+ "name": {
+ "description": "Resource name for which availability needs to be checked",
+ "type": "string"
+ },
+ "type": {
+ "description": "Describes the Resource type: Microsoft.DataProtection/BackupVaults",
+ "type": "string"
+ }
+ },
+ "title": "CheckNameAvailabilityRequest",
+ "type": "object"
+ },
+ "CheckNameAvailabilityResult": {
+ "description": "CheckNameAvailability Result",
+ "properties": {
+ "message": {
+ "description": "Gets or sets the message.",
+ "type": "string"
+ },
+ "nameAvailable": {
+ "description": "Gets or sets a value indicating whether [name available].",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "Gets or sets the reason.",
+ "type": "string"
+ }
+ },
+ "title": "CheckNameAvailabilityResult",
+ "type": "object"
+ },
+ "ClientDiscoveryDisplay": {
+ "description": "Localized display information of an operation.",
+ "properties": {
+ "description": {
+ "description": "Description of the operation having details of what operation is about.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operations Name itself.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Name of the provider for display purposes",
+ "type": "string"
+ },
+ "resource": {
+ "description": "ResourceType for which this Operation can be performed.",
+ "type": "string"
+ }
+ },
+ "title": "ClientDiscoveryDisplay",
+ "type": "object"
+ },
+ "ClientDiscoveryForLogSpecification": {
+ "description": "Class to represent shoebox log specification in json client discovery.",
+ "properties": {
+ "blobDuration": {
+ "description": "blob duration of shoebox log specification",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name for shoebox log specification.",
+ "type": "string"
+ }
+ },
+ "title": "ClientDiscoveryForLogSpecification",
+ "type": "object"
+ },
+ "ClientDiscoveryForProperties": {
+ "description": "Class to represent shoebox properties in json client discovery.",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ClientDiscoveryForServiceSpecification",
+ "description": "Operation properties."
+ }
+ },
+ "title": "ClientDiscoveryForProperties",
+ "type": "object"
+ },
+ "ClientDiscoveryForServiceSpecification": {
+ "description": "Class to represent shoebox service specification in json client discovery.",
+ "properties": {
+ "logSpecifications": {
+ "description": "List of log specifications of this operation.",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryForLogSpecification"
+ },
+ "type": "array"
+ }
+ },
+ "title": "ClientDiscoveryForServiceSpecification",
+ "type": "object"
+ },
+ "ClientDiscoveryResponse": {
+ "description": "Operations List response which contains list of available APIs.",
+ "properties": {
+ "nextLink": {
+ "description": "Link to the next chunk of Response.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of available operations.",
+ "items": {
+ "$ref": "#/definitions/ClientDiscoveryValueForSingleApi"
+ },
+ "type": "array"
+ }
+ },
+ "title": "ClientDiscoveryResponse",
+ "type": "object"
+ },
+ "ClientDiscoveryValueForSingleApi": {
+ "description": "Available operation details.",
+ "properties": {
+ "display": {
+ "$ref": "#/definitions/ClientDiscoveryDisplay",
+ "description": "Contains the localized display information for this particular operation"
+ },
+ "name": {
+ "description": "Name of the Operation.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "origin": {
+ "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/ClientDiscoveryForProperties",
+ "description": "Properties for the given operation."
+ }
+ },
+ "title": "ClientDiscoveryValueForSingleApi",
+ "type": "object"
+ },
+ "CloudError": {
+ "description": "An error response from Azure Backup.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "title": "CloudError",
+ "x-ms-external": true
+ },
+ "CopyOnExpiryOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyOption"
+ }
+ ],
+ "description": "Copy on Expiry Option",
+ "required": [
+ "objectType"
+ ],
+ "title": "CopyOnExpiryOption",
+ "type": "object",
+ "x-ms-discriminator-value": "CopyOnExpiryOption"
+ },
+ "CopyOption": {
+ "description": "Options to copy",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "CopyOption",
+ "type": "object"
+ },
+ "CustomCopyOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyOption"
+ }
+ ],
+ "description": "Duration based custom options to copy",
+ "properties": {
+ "duration": {
+ "description": "Data copied after given timespan",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "CustomCopyOption",
+ "type": "object",
+ "x-ms-discriminator-value": "CustomCopyOption"
+ },
+ "Datasource": {
+ "description": "Datasource to be backed up",
+ "properties": {
+ "datasourceType": {
+ "description": "DatasourceType of the resource.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "type": "string"
+ },
+ "resourceID": {
+ "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Location of datasource.",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Unique identifier of the resource in the context of parent.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource Type of Datasource.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "Uri of the resource.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceID"
+ ],
+ "title": "Datasource",
+ "type": "object"
+ },
+ "DatasourceSet": {
+ "description": "DatasourceSet details of datasource to be backed up",
+ "properties": {
+ "datasourceType": {
+ "description": "DatasourceType of the resource.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "type": "string"
+ },
+ "resourceID": {
+ "description": "Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the ID created by backup service via Fabric/Vault.",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Location of datasource.",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Unique identifier of the resource in the context of parent.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource Type of Datasource.",
+ "type": "string"
+ },
+ "resourceUri": {
+ "description": "Uri of the resource.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceID"
+ ],
+ "title": "DatasourceSet",
+ "type": "object"
+ },
+ "DataStoreInfoBase": {
+ "description": "DataStoreInfo base",
+ "properties": {
+ "dataStoreType": {
+ "description": "type of datastore; Operational/Vault/Archive",
+ "enum": [
+ "OperationalStore",
+ "VaultStore",
+ "ArchiveStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DataStoreTypes"
+ }
+ },
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "readOnly": false,
+ "type": "string"
+ }
+ },
+ "required": [
+ "dataStoreType",
+ "objectType"
+ ],
+ "title": "DataStoreInfoBase",
+ "type": "object"
+ },
+ "DataStoreParameters": {
+ "description": "Parameters for DataStore",
+ "required": [
+ "objectType",
+ "dataStoreType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ },
+ "dataStoreType": {
+ "description": "type of datastore; Operational/Vault/Archive",
+ "enum": [
+ "OperationalStore",
+ "VaultStore",
+ "ArchiveStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataStoreTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "Day": {
+ "description": "Day of the week",
+ "properties": {
+ "date": {
+ "description": "Date of the month",
+ "format": "int32",
+ "type": "integer"
+ },
+ "isLast": {
+ "description": "Whether Date is last date of month",
+ "type": "boolean"
+ }
+ },
+ "title": "Day",
+ "type": "object"
+ },
+ "DeleteOption": {
+ "description": "Delete Option",
+ "discriminator": "objectType",
+ "properties": {
+ "duration": {
+ "description": "Duration of deletion after given timespan",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "duration",
+ "objectType"
+ ],
+ "title": "DeleteOption",
+ "type": "object"
+ },
+ "DppIdentityDetails": {
+ "description": "Identity details",
+ "properties": {
+ "principalId": {
+ "description": "The object ID of the service principal object for the managed identity that is used to grant role-based access to an Azure resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "The identityType which can be either SystemAssigned or None",
+ "type": "string"
+ }
+ },
+ "title": "DppIdentityDetails",
+ "type": "object"
+ },
+ "DppResource": {
+ "description": "Resource class",
+ "properties": {
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "readOnly": true,
+ "type": "string"
+ },
+ "systemData": {
+ "$ref": "#/definitions/systemData"
+ }
+ },
+ "title": "DppResource",
+ "type": "object",
+ "x-ms-azure-resource": true
+ },
+ "DppResourceList": {
+ "description": "ListResource",
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ },
+ "title": "List Resource",
+ "type": "object"
+ },
+ "DppTrackedResource": {
+ "properties": {
+ "eTag": {
+ "description": "Optional ETag.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Resource Id represents the complete path to the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/DppIdentityDetails",
+ "description": "Input Managed Identity Details"
+ },
+ "location": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Resource name associated with the resource.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags.",
+ "type": "object"
+ },
+ "type": {
+ "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...",
+ "readOnly": true,
+ "type": "string"
+ },
+ "systemData": {
+ "$ref": "#/definitions/systemData"
+ }
+ },
+ "type": "object",
+ "x-ms-azure-resource": true
+ },
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "DppTrackedResourceList": {
+ "properties": {
+ "nextLink": {
+ "description": "The uri to fetch the next page of resources. Call ListNext() fetches next page of resources.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "DppWorkerRequest": {
+ "type": "object",
+ "properties": {
+ "subscriptionId": {
+ "type": "string"
+ },
+ "uri": {
+ "type": "string"
+ },
+ "headers": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "supportedGroupVersions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cultureInfo": {
+ "type": "string"
+ },
+ "parameters": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "httpMethod": {
+ "type": "string"
+ }
+ }
+ },
+ "Error": {
+ "description": "The resource management error response.",
+ "properties": {
+ "additionalInfo": {
+ "description": "The error additional info.",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "code": {
+ "description": "The error code.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "details": {
+ "description": "The error details.",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "message": {
+ "description": "The error message.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "target": {
+ "description": "The error target.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "description": "The resource management error additional info.",
+ "properties": {
+ "info": {
+ "description": "The additional info.",
+ "readOnly": true,
+ "type": "object"
+ },
+ "type": {
+ "description": "The additional info type.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "ExportJobsResult": {
+ "description": "The result for export jobs containing blob details.",
+ "properties": {
+ "blobUrl": {
+ "description": "URL of the blob into which the serialized string of list of jobs is exported.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "blobSasKey": {
+ "description": "SAS key to access the blob.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "excelFileBlobUrl": {
+ "description": "URL of the blob into which the ExcelFile is uploaded.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "excelFileBlobSasKey": {
+ "description": "SAS key to access the ExcelFile blob.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "title": "ExportJobsResult",
+ "type": "object"
+ },
+ "FeatureValidationRequest": {
+ "description": "Base class for feature object",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureValidationRequestBase"
+ }
+ ],
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "enum": [
+ "Invalid",
+ "DataSourceType"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FeatureType",
+ "modelAsString": true
+ }
+ },
+ "featureName": {
+ "description": "backup support feature name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "FeatureValidationRequest"
+ },
+ "FeatureValidationRequestBase": {
+ "description": "Base class for Backup Feature support",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "FeatureValidationResponse": {
+ "description": "Feature Validation Response",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FeatureValidationResponseBase"
+ }
+ ],
+ "properties": {
+ "featureType": {
+ "description": "backup support feature type.",
+ "enum": [
+ "Invalid",
+ "DataSourceType"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FeatureType",
+ "modelAsString": true
+ }
+ },
+ "features": {
+ "description": "Response features",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedFeature"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "FeatureValidationResponse"
+ },
+ "FeatureValidationResponseBase": {
+ "description": "Base class for Backup Feature support",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string",
+ "readOnly": false
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ImmediateCopyOption": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyOption"
+ }
+ ],
+ "description": "Immediate copy Option",
+ "required": [
+ "objectType"
+ ],
+ "title": "ImmediateCopyOption",
+ "type": "object",
+ "x-ms-discriminator-value": "ImmediateCopyOption"
+ },
+ "InnerError": {
+ "description": "Inner Error",
+ "properties": {
+ "additionalInfo": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Any Key value pairs that can be provided to the client for additional verbose information.",
+ "type": "object"
+ },
+ "code": {
+ "description": "Unique code for this error",
+ "type": "string"
+ },
+ "embeddedInnerError": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Child Inner Error, to allow Nesting."
+ }
+ },
+ "title": "InnerError",
+ "type": "object"
+ },
+ "ItemLevelRestoreCriteria": {
+ "description": "Class to contain criteria for item level restore",
+ "required": [
+ "objectType"
+ ],
+ "type": "object",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "discriminator": "objectType"
+ },
+ "ItemLevelRestoreTargetInfo": {
+ "description": "Restore target info for Item level restore operation",
+ "required": [
+ "restoreCriteria",
+ "datasourceInfo",
+ "recoveryOption"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "properties": {
+ "restoreCriteria": {
+ "description": "Restore Criteria",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ },
+ "datasourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Information of target DS"
+ },
+ "datasourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Information of target DS Set"
+ }
+ },
+ "x-ms-discriminator-value": "ItemLevelRestoreTargetInfo"
+ },
+ "JobExtendedInfo": {
+ "description": "Extended Information about the job",
+ "properties": {
+ "additionalDetails": {
+ "additionalProperties": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": "Job's Additional Details"
+ },
+ "backupInstanceState": {
+ "description": "State of the Backup Instance",
+ "readOnly": true,
+ "type": "string"
+ },
+ "dataTransferredInBytes": {
+ "description": "Number of bytes transferred",
+ "format": "double",
+ "readOnly": true,
+ "type": "number"
+ },
+ "recoveryDestination": {
+ "description": "Destination where restore is done",
+ "readOnly": true,
+ "type": "string"
+ },
+ "sourceRecoverPoint": {
+ "$ref": "#/definitions/RestoreJobRecoveryPointDetails",
+ "description": "Details of the Source Recovery Point",
+ "readOnly": true
+ },
+ "subTasks": {
+ "description": "List of Sub Tasks of the job",
+ "items": {
+ "$ref": "#/definitions/JobSubTask"
+ },
+ "readOnly": true,
+ "type": "array"
+ },
+ "targetRecoverPoint": {
+ "$ref": "#/definitions/RestoreJobRecoveryPointDetails",
+ "description": "Details of the Target Recovery Point",
+ "readOnly": true
+ }
+ },
+ "type": "object"
+ },
+ "JobSubTask": {
+ "description": "Details of Job's Sub Task",
+ "properties": {
+ "additionalDetails": {
+ "additionalProperties": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": "Additional details of Sub Tasks"
+ },
+ "taskId": {
+ "description": "Task Id of the Sub Task",
+ "format": "int32",
+ "type": "integer"
+ },
+ "taskName": {
+ "description": "Name of the Sub Task",
+ "type": "string"
+ },
+ "taskProgress": {
+ "description": "Progress of the Sub Task",
+ "readOnly": true,
+ "type": "string"
+ },
+ "taskStatus": {
+ "description": "Status of the Sub Task",
+ "type": "string"
+ }
+ },
+ "required": [
+ "taskId",
+ "taskName",
+ "taskStatus"
+ ],
+ "type": "object"
+ },
+ "OperationExtendedInfo": {
+ "description": "Operation Extended Info",
+ "properties": {
+ "objectType": {
+ "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.",
+ "type": "string"
+ }
+ },
+ "title": "OperationExtendedInfo",
+ "type": "object"
+ },
+ "OperationJobExtendedInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationExtendedInfo"
+ }
+ ],
+ "description": "Operation Job Extended Info",
+ "properties": {
+ "jobId": {
+ "description": "Arm Id of the job created for this operation.",
+ "type": "string"
+ }
+ },
+ "title": "OperationJobExtendedInfo",
+ "type": "object",
+ "x-ms-discriminator-value": "OperationJobExtendedInfo"
+ },
+ "OperationResource": {
+ "description": "Operation Resource",
+ "properties": {
+ "endTime": {
+ "description": "End time of the operation",
+ "format": "date-time",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines.\r\nThe full set of optional properties (e.g. inner errors / details) can be found in the \"Error Response\" section."
+ },
+ "id": {
+ "description": "It should match what is used to GET the operation result",
+ "type": "string"
+ },
+ "name": {
+ "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationExtendedInfo",
+ "description": "End time of the operation"
+ },
+ "startTime": {
+ "description": "Start time of the operation",
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "title": "OperationResource",
+ "type": "object"
+ },
+ "PatchResourceRequestInput": {
+ "description": "Patch Request content for Microsoft.DataProtection resources",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/DppIdentityDetails",
+ "description": "Input Managed Identity Details"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags.",
+ "type": "object"
+ }
+ },
+ "title": "PatchResourceRequestInput",
+ "type": "object"
+ },
+ "PolicyInfo": {
+ "description": "Policy Info in backupInstance",
+ "properties": {
+ "policyId": {
+ "type": "string"
+ },
+ "policyVersion": {
+ "readOnly": true,
+ "type": "string"
+ },
+ "policyParameters": {
+ "$ref": "#/definitions/PolicyParameters",
+ "description": "Policy parameters for the backup instance"
+ }
+ },
+ "required": [
+ "policyId"
+ ],
+ "title": "PolicyInfo",
+ "type": "object"
+ },
+ "PolicyParameters": {
+ "description": "Parameters in Policy",
+ "type": "object",
+ "properties": {
+ "dataStoreParametersList": {
+ "description": "Gets or sets the DataStore Parameters",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataStoreParameters"
+ }
+ }
+ }
+ },
+ "ProtectionStatusDetails": {
+ "description": "Protection status details",
+ "properties": {
+ "errorDetails": {
+ "$ref": "#/definitions/UserFacingError",
+ "description": "Specifies the protection status error of the resource"
+ },
+ "status": {
+ "description": "Specifies the protection status of the resource",
+ "enum": [
+ "ConfiguringProtection",
+ "ConfiguringProtectionFailed",
+ "ProtectionConfigured",
+ "ProtectionStopped",
+ "SoftDeleted",
+ "SoftDeleting"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "Status"
+ }
+ }
+ },
+ "title": "ProtectionStatusDetails",
+ "type": "object"
+ },
+ "RangeBasedItemLevelRestoreCriteria": {
+ "description": "Item Level target info for restore operation",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ItemLevelRestoreCriteria"
+ }
+ ],
+ "properties": {
+ "minMatchingValue": {
+ "description": "minimum value for range prefix match",
+ "type": "string"
+ },
+ "maxMatchingValue": {
+ "description": "maximum value for range prefix match",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "RangeBasedItemLevelRestoreCriteria"
+ },
+ "RecoveryPointDataStoreDetails": {
+ "description": "RecoveryPoint datastore details",
+ "properties": {
+ "creationTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "expiryTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "metaData": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "visible": {
+ "type": "boolean"
+ },
+ "rehydrationExpiryTime": {
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "rehydrationStatus": {
+ "readOnly": true,
+ "enum": [
+ "CREATE_IN_PROGRESS",
+ "COMPLETED",
+ "DELETE_IN_PROGRESS",
+ "DELETED",
+ "FAILED"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RehydrationStatus"
+ }
+ }
+ },
+ "title": "RecoveryPointDataStoreDetails",
+ "type": "object"
+ },
+ "RehydrationPriority": {
+ "description": "Priority to be used for rehydration. Values High or Standard",
+ "enum": [
+ "Invalid",
+ "High",
+ "Standard"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RehydrationPriority"
+ }
+ },
+ "RestoreFilesTargetInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "description": "Class encapsulating restore as files target parameters",
+ "properties": {
+ "targetDetails": {
+ "$ref": "#/definitions/TargetDetails",
+ "description": "Destination of RestoreAsFiles operation, when destination is not a datasource"
+ }
+ },
+ "required": [
+ "recoveryOption",
+ "targetDetails"
+ ],
+ "type": "object",
+ "x-ms-discriminator-value": "RestoreFilesTargetInfo"
+ },
+ "RestoreJobRecoveryPointDetails": {
+ "properties": {
+ "recoveryPointID": {
+ "type": "string"
+ },
+ "recoveryPointTime": {
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RestoreTargetInfo": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RestoreTargetInfoBase"
+ }
+ ],
+ "description": "Class encapsulating restore target parameters",
+ "properties": {
+ "datasourceInfo": {
+ "$ref": "#/definitions/Datasource",
+ "description": "Information of target DS"
+ },
+ "datasourceSetInfo": {
+ "$ref": "#/definitions/DatasourceSet",
+ "description": "Information of target DS Set"
+ }
+ },
+ "required": [
+ "datasourceInfo",
+ "recoveryOption"
+ ],
+ "type": "object",
+ "x-ms-discriminator-value": "RestoreTargetInfo"
+ },
+ "RestoreTargetInfoBase": {
+ "description": "Base class common to RestoreTargetInfo and RestoreFilesTargetInfo",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of Datasource object, used to initialize the right inherited type",
+ "type": "string"
+ },
+ "recoveryOption": {
+ "description": "Recovery Option",
+ "enum": [
+ "FailIfExists"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "RecoveryOption"
+ }
+ },
+ "restoreLocation": {
+ "description": "Target Restore region",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType",
+ "recoveryOption"
+ ],
+ "type": "object"
+ },
+ "RestorableTimeRange": {
+ "required": [
+ "startTime",
+ "endTime"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "description": "Start time for the available restore range",
+ "type": "string"
+ },
+ "endTime": {
+ "description": "End time for the available restore range",
+ "type": "string"
+ },
+ "objectType": {
+ "type": "string"
+ }
+ }
+ },
+ "RetentionTag": {
+ "description": "Retention tag",
+ "properties": {
+ "eTag": {
+ "description": "Retention Tag version.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "id": {
+ "description": "Retention Tag version.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "tagName": {
+ "description": "Retention Tag Name to relate it to retention rule.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tagName"
+ ],
+ "title": "RetentionTag",
+ "type": "object"
+ },
+ "ScheduleBasedBackupCriteria": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackupCriteria"
+ }
+ ],
+ "description": "Schedule based backup criteria",
+ "properties": {
+ "absoluteCriteria": {
+ "description": "it contains absolute values like \"AllBackup\" / \"FirstOfDay\" / \"FirstOfWeek\" / \"FirstOfMonth\"\r\nand should be part of AbsoluteMarker enum",
+ "items": {
+ "enum": [
+ "AllBackup",
+ "FirstOfDay",
+ "FirstOfMonth",
+ "FirstOfWeek",
+ "FirstOfYear"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AbsoluteMarker"
+ }
+ },
+ "type": "array"
+ },
+ "daysOfMonth": {
+ "description": "This is day of the month from 1 to 28 other wise last of month",
+ "items": {
+ "$ref": "#/definitions/Day"
+ },
+ "type": "array"
+ },
+ "daysOfTheWeek": {
+ "description": "It should be Sunday/Monday/T..../Saturday",
+ "items": {
+ "enum": [
+ "Friday",
+ "Monday",
+ "Saturday",
+ "Sunday",
+ "Thursday",
+ "Tuesday",
+ "Wednesday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DayOfWeek"
+ }
+ },
+ "type": "array"
+ },
+ "monthsOfYear": {
+ "description": "It should be January/February/....../December",
+ "items": {
+ "enum": [
+ "April",
+ "August",
+ "December",
+ "February",
+ "January",
+ "July",
+ "June",
+ "March",
+ "May",
+ "November",
+ "October",
+ "September"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "Month"
+ }
+ },
+ "type": "array"
+ },
+ "scheduleTimes": {
+ "description": "List of schedule times for backup",
+ "items": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "weeksOfTheMonth": {
+ "description": "It should be First/Second/Third/Fourth/Last",
+ "items": {
+ "enum": [
+ "First",
+ "Fourth",
+ "Last",
+ "Second",
+ "Third"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "WeekNumber"
+ }
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "ScheduleBasedBackupCriteria",
+ "type": "object",
+ "x-ms-discriminator-value": "ScheduleBasedBackupCriteria"
+ },
+ "ScheduleBasedTriggerContext": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/TriggerContext"
+ }
+ ],
+ "description": "Schedule based trigger context",
+ "properties": {
+ "schedule": {
+ "$ref": "#/definitions/BackupSchedule",
+ "description": "Schedule for this backup"
+ },
+ "taggingCriteria": {
+ "description": "List of tags that can be applicable for given schedule.",
+ "items": {
+ "$ref": "#/definitions/TaggingCriteria"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "objectType",
+ "schedule",
+ "taggingCriteria"
+ ],
+ "title": "ScheduleBasedTriggerContext",
+ "type": "object",
+ "x-ms-discriminator-value": "ScheduleBasedTriggerContext"
+ },
+ "SourceLifeCycle": {
+ "description": "Source LifeCycle",
+ "properties": {
+ "deleteAfter": {
+ "$ref": "#/definitions/DeleteOption"
+ },
+ "sourceDataStore": {
+ "$ref": "#/definitions/DataStoreInfoBase"
+ },
+ "targetDataStoreCopySettings": {
+ "items": {
+ "$ref": "#/definitions/TargetCopySetting"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "deleteAfter",
+ "sourceDataStore"
+ ],
+ "title": "SourceLifeCycle",
+ "type": "object"
+ },
+ "StorageSetting": {
+ "description": "Storage setting",
+ "properties": {
+ "datastoreType": {
+ "description": "Gets or sets the type of the datastore.",
+ "enum": [
+ "ArchiveStore",
+ "SnapshotStore",
+ "VaultStore"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "StorageSettingStoreTypes"
+ }
+ },
+ "type": {
+ "description": "Gets or sets the type.",
+ "enum": [
+ "GeoRedundant",
+ "LocallyRedundant"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "StorageSettingTypes"
+ }
+ }
+ },
+ "title": "StorageSetting",
+ "type": "object"
+ },
+ "SupportedFeature": {
+ "description": "Elements class for feature request",
+ "type": "object",
+ "properties": {
+ "featureName": {
+ "description": "support feature type.",
+ "type": "string"
+ },
+ "supportStatus": {
+ "description": "feature support status",
+ "enum": [
+ "Invalid",
+ "NotSupported",
+ "AlphaPreview",
+ "PrivatePreview",
+ "PublicPreview",
+ "GenerallyAvailable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "FeatureSupportStatus",
+ "modelAsString": true
+ }
+ },
+ "exposureControlledFeatures": {
+ "description": "support feature type.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TaggingCriteria": {
+ "description": "Tagging criteria",
+ "properties": {
+ "criteria": {
+ "description": "Criteria which decides whether the tag can be applied to a triggered backup.",
+ "items": {
+ "$ref": "#/definitions/BackupCriteria"
+ },
+ "type": "array"
+ },
+ "isDefault": {
+ "description": "Specifies if tag is default.",
+ "type": "boolean"
+ },
+ "taggingPriority": {
+ "description": "Retention Tag priority.",
+ "format": "int64",
+ "type": "integer"
+ },
+ "tagInfo": {
+ "$ref": "#/definitions/RetentionTag",
+ "description": "Retention tag information"
+ }
+ },
+ "required": [
+ "isDefault",
+ "tagInfo",
+ "taggingPriority"
+ ],
+ "title": "TaggingCriteria",
+ "type": "object"
+ },
+ "TargetCopySetting": {
+ "description": "Target copy settings",
+ "properties": {
+ "copyAfter": {
+ "$ref": "#/definitions/CopyOption",
+ "description": "It can be CustomCopyOption or ImmediateCopyOption."
+ },
+ "dataStore": {
+ "$ref": "#/definitions/DataStoreInfoBase",
+ "description": "Info of target datastore"
+ }
+ },
+ "required": [
+ "copyAfter",
+ "dataStore"
+ ],
+ "title": "TargetCopySetting",
+ "type": "object"
+ },
+ "TargetDetails": {
+ "description": "Class encapsulating target details, used where the destination is not a datasource",
+ "properties": {
+ "filePrefix": {
+ "description": "Restore operation may create multiple files inside location pointed by Url\r\nBelow will be the common prefix for all of them",
+ "type": "string"
+ },
+ "restoreTargetLocationType": {
+ "description": "Denotes the target location where the data will be restored,\r\nstring value for the enum {Microsoft.Internal.AzureBackup.DataProtection.Common.Interface.RestoreTargetLocationType}",
+ "enum": [
+ "Invalid",
+ "AzureBlobs",
+ "AzureFiles"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RestoreTargetLocationType",
+ "modelAsString": true
+ }
+ },
+ "url": {
+ "description": "Url denoting the restore destination. It can point to container / file share etc",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filePrefix",
+ "restoreTargetLocationType",
+ "url"
+ ],
+ "type": "object"
+ },
+ "TriggerBackupRequest": {
+ "description": "Trigger backup request",
+ "properties": {
+ "backupRuleOptions": {
+ "$ref": "#/definitions/AdHocBackupRuleOptions",
+ "description": "Name for the Rule of the Policy which needs to be applied for this backup"
+ }
+ },
+ "required": [
+ "backupRuleOptions"
+ ],
+ "title": "TriggerBackupRequest",
+ "type": "object"
+ },
+ "TriggerContext": {
+ "description": "Trigger context",
+ "discriminator": "objectType",
+ "properties": {
+ "objectType": {
+ "description": "Type of the specific object - used for deserializing",
+ "type": "string"
+ }
+ },
+ "required": [
+ "objectType"
+ ],
+ "title": "TriggerContext",
+ "type": "object"
+ },
+ "UserFacingError": {
+ "description": "Error object used by layers that have access to localized content, and propagate that to user",
+ "properties": {
+ "code": {
+ "description": "Unique code for this error",
+ "type": "string"
+ },
+ "details": {
+ "description": "Additional related Errors",
+ "items": {
+ "$ref": "#/definitions/UserFacingError"
+ },
+ "type": "array"
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner Error"
+ },
+ "isRetryable": {
+ "description": "Whether the operation will be retryable or not",
+ "type": "boolean"
+ },
+ "isUserError": {
+ "description": "Whether the operation is due to a user error or service error",
+ "type": "boolean"
+ },
+ "properties": {
+ "description": "Any key value pairs that can be injected inside error object",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "message": {
+ "type": "string"
+ },
+ "recommendedAction": {
+ "description": "RecommendedAction � localized.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "target": {
+ "description": "Target of the error.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ValidateForBackupRequest": {
+ "description": "Validate for backup request",
+ "properties": {
+ "backupInstance": {
+ "$ref": "#/definitions/BackupInstance"
+ }
+ },
+ "required": [
+ "backupInstance"
+ ],
+ "title": "ValidateForBackupRequest",
+ "type": "object"
+ },
+ "ValidateRestoreRequestObject": {
+ "description": "Validate restore request object",
+ "properties": {
+ "restoreRequestObject": {
+ "$ref": "#/definitions/AzureBackupRestoreRequest",
+ "description": "Gets or sets the restore request object."
+ }
+ },
+ "required": [
+ "restoreRequestObject"
+ ],
+ "title": "ValidateRestoreRequestObject",
+ "type": "object"
+ }
+ },
+ "parameters": {
+ "SubscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription Id.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group where the backup vault is present.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "description": "The name of the backup vault.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/DeleteBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/DeleteBackupInstance.json
new file mode 100644
index 000000000000..941555d6b2aa
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/DeleteBackupInstance.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "backupInstanceName": "testInstance1",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
new file mode 100644
index 000000000000..e50e8a20f945
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/FindRestorableTimeRanges.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "Blob-Backup",
+ "vaultName": "ZBlobBackupVaultBVTD3",
+ "backupInstances": "zblobbackuptestsa58",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "sourceDataStoreType": "OperationalStore",
+ "startTime": "2020-10-17T23:28:17.6829685Z",
+ "endTime": "2021-02-24T00:35:17.6829685Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "zblobbackuptestsa58",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances/findRestorableTimeRanges",
+ "properties": {
+ "restorableTimeRanges": [
+ {
+ "startTime": "2021-02-23T18:33:51.6349708Z",
+ "endTime": "2021-02-24T00:35:17.0000000Z",
+ "objectType": "RestorableTimeRange"
+ }
+ ],
+ "objectType": "AzureBackupFindRestorableTimeRangesResponse"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/GetBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/GetBackupInstance.json
new file mode 100644
index 000000000000..11e168bd87cb
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/GetBackupInstance.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2"
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioning",
+ "objectType": "BackupInstance"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/GetRecoveryPoint.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/GetRecoveryPoint.json
new file mode 100644
index 000000000000..aa61e1511e47
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/GetRecoveryPoint.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1",
+ "recoveryPointId": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "0ff03512-b333-4509-a6c7-12164c8b1dce",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ListBackupInstances.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ListBackupInstances.json
new file mode 100644
index 000000000000..40df7f1d4a7d
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ListBackupInstances.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2"
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioning",
+ "objectType": "BackupInstance"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ListRecoveryPoints.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ListRecoveryPoints.json
new file mode 100644
index 000000000000..6ebb386e3b81
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ListRecoveryPoints.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5e35",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "0ff03512-b333-4509-a6c7-12164c8b1dce",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "5d8cfd30-722e-4bab-85f6-4a9d01ffc6f1",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/HelloTest/providers/Microsoft.DataProtection/backupVaults/HelloTestVault/backupInstances/653213d-c5b3-44f6-a0d9-db3c4f9d8e34/recoveryPoints/7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "name": "7fb2cddd-c5b3-44f6-a0d9-db3c4f9d5f25",
+ "type": "microsoft.dataprotection/backupvaults/backupInstances/recoveryPoints",
+ "properties": {
+ "objectType": "AzureBackupDiscreteRecoveryPoint",
+ "recoveryPointTime": "2019-03-01T13:00:00Z",
+ "recoveryPointType": "Full",
+ "friendlyName": "panbha4",
+ "recoveryPointDataStoresDetails": [
+ {
+ "id": "808cfd30-722e-4bab-85f6-4a9d01ffc6f2",
+ "type": "Snapshot",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ },
+ {
+ "id": "798cfd30-722e-4bab-85f6-4a9d01ffc6f3",
+ "type": "BackupStorage",
+ "creationTime": "2019-03-01T13:00:00Z",
+ "metaData": "123456"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/PutBackupInstance.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/PutBackupInstance.json
new file mode 100644
index 000000000000..47858b313d9e
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/PutBackupInstance.json
@@ -0,0 +1,143 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "properties": {
+ "objectType": "BackupInstance",
+ "friendlyName": "harshitbi2",
+ "dataSourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "dataSourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ },
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"
+ }
+ ]
+ }
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioning",
+ "objectType": "BackupInstance"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupInstances/harshitbi2",
+ "name": "harshitbi2",
+ "type": "Microsoft.DataProtection/backupVaults/backupInstances",
+ "properties": {
+ "friendlyName": "harshitbi2",
+ "dataSourceInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "testdb",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "Datasource"
+ },
+ "dataSourceSetInfo": {
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceUri": "",
+ "datasourceType": "OssDB",
+ "resourceName": "viveksipgtest",
+ "resourceType": "OssDB",
+ "resourceLocation": "",
+ "objectType": "DatasourceSet"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
+ "policyVersion": "3.2",
+ "policyParameters": {
+ "dataStoreParametersList": [
+ {
+ "objectType": "AzureOperationalStoreParameters",
+ "dataStoreType": "OperationalStore",
+ "resourceGroupId": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"
+ }
+ ]
+ }
+ },
+ "protectionStatus": {
+ "status": "NotProtected"
+ },
+ "provisioningState": "Provisioned",
+ "objectType": "BackupInstance"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerBackup.json
new file mode 100644
index 000000000000..5f3b7a015571
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerBackup.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "backupRuleOptions": {
+ "ruleName": "BackupWeekly",
+ "triggerOption": {
+ "retentionTagOverride": "yearly"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRehydrate.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRehydrate.json
new file mode 100644
index 000000000000..60a182f14c29
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRehydrate.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "recoveryPointId": "hardcodedRP",
+ "rehydrationRetentionDuration": "7D",
+ "rehydrationPriority": "High"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRestore.json
new file mode 100644
index 000000000000..55f490426169
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRestore.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json
new file mode 100644
index 000000000000..0c12b7c0739c
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRestoreAsFiles.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "restoreTargetInfo": {
+ "targetDetails": {
+ "url": "https://teststorage.blob.core.windows.net/restoretest",
+ "filePrefix": "restoredblob",
+ "restoreTargetLocationType": "AzureBlobs"
+ },
+ "restoreLocation": "southeastasia",
+ "recoveryOption": "FailIfExists",
+ "objectType": "RestoreFilesTargetInfo"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/testInstance1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json
new file mode 100644
index 000000000000..7715dbfe2550
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/TriggerRestoreWithRehydration.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "objectType": "AzureBackupRestoreWithRehydrationRequest",
+ "recoveryPointId": "hardcodedRP",
+ "rehydrationRetentionDuration": "7D",
+ "rehydrationPriority": "High",
+ "sourceDataStoreType": "VaultStore",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupInstances/harshitbi1/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ValidateForBackup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ValidateForBackup.json
new file mode 100644
index 000000000000..c0a626f74292
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ValidateForBackup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "backupInstance": {
+ "objectType": "BackupInstance",
+ "friendlyName": "harshitbi2",
+ "dataSourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "dataSourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "policyInfo": {
+ "policyId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ValidateRestore.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ValidateRestore.json
new file mode 100644
index 000000000000..7bbb3dd16d37
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/BackupInstanceOperations/ValidateRestore.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PratikPrivatePreviewVault1",
+ "api-version": "2021-01-01",
+ "backupInstanceName": "testInstance1",
+ "parameters": {
+ "restoreRequestObject": {
+ "objectType": "AzureBackupRecoveryPointBasedRestoreRequest",
+ "recoveryPointId": "hardcodedRP",
+ "sourceDataStoreType": "VaultStore",
+ "restoreTargetInfo": {
+ "objectType": "RestoreTargetInfo",
+ "recoveryOption": "FailIfExists",
+ "datasourceSetInfo": {
+ "objectType": "DatasourceSet",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
+ "resourceName": "viveksipgtest",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "datasourceInfo": {
+ "objectType": "Datasource",
+ "resourceID": "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
+ "resourceName": "testdb",
+ "resourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "resourceUri": "",
+ "resourceLocation": "",
+ "datasourceType": "OssDB"
+ },
+ "restoreLocation": "southeastasia"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/CheckfeatureSupport.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/CheckfeatureSupport.json
new file mode 100644
index 000000000000..127daeab9f0f
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/CheckfeatureSupport.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "location": "WestUS",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "featureType": "DataSourceType",
+ "objectType": "FeatureValidationRequest"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "featureType": "DataSourceType",
+ "features": [
+ {
+ "featureName": "Microsoft.Storage/storageAccounts/blobServices",
+ "supportStatus": "PrivatePreview",
+ "exposureControlledFeatures": []
+ },
+ {
+ "featureName": "Microsoft.DBforPostgreSQL/servers/databases",
+ "supportStatus": "PublicPreview",
+ "exposureControlledFeatures": []
+ }
+ ],
+ "objectType": "FeatureValidationResponse"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/GetOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/GetOperationResult.json
new file mode 100644
index 000000000000..829549998512
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/GetOperationResult.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "location": "WestUS",
+ "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/operationResults/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Azure-AsyncOperation": "https://api-dogfood.resources.windows-int.net/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/westus/operationStatus/ZTA4YjQ0ZGYtYmNkNS00YTk1LWFjZTMtOTc1MjNmZWIxYWZlO2Y1ODg1MzA3LWJkNjItNDQ2OC05ZjZlLTJkMGM2NjNiNmJmNg==?api-version=2021-01-01",
+ "Retry-After": "60"
+ }
+ },
+ "200": {
+ "body": {
+ "jobId": "c60cb49-63e8-4b21-b9bd-26277b3fdfae"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/GetOperationStatus.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/GetOperationStatus.json
new file mode 100644
index 000000000000..e5b174764b54
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/GetOperationStatus.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "location": "WestUS",
+ "operationId": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/providers/Microsoft.DataProtection/locations/WestUS/operationStatus/MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "name": "MjkxOTMyODMtYTE3My00YzJjLTg5NjctN2E4MDIxNDA3NjA2OzdjNGE2ZWRjLWJjMmItNDRkYi1hYzMzLWY1YzEwNzk5Y2EyOA==",
+ "status": "Succeeded",
+ "startTime": "2019-11-20T09:49:44.0478496Z",
+ "endTime": "2019-11-20T09:49:46Z"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/GetExportJobsOperationResult.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/GetExportJobsOperationResult.json
new file mode 100644
index 000000000000..dc32efbedade
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/GetExportJobsOperationResult.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "operationId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000",
+ "blobSasKey": "someKey",
+ "excelFileBlobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreport00000000-0000-0000-0000-000000000000_ExcelFile.xlsx",
+ "excelFileBlobSasKey": "someKey"
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": 60,
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2021-01-01"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/GetJob.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/GetJob.json
new file mode 100644
index 000000000000..503e473e1351
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/GetJob.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "BugBash1",
+ "vaultName": "BugBashVaultForCCYv11",
+ "jobId": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2",
+ "policyName": "jakavetdailypolicy",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb2",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T03:00:03.7604146Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap",
+ "extendedInfo": {
+ "subTasks": [
+ {
+ "taskId": 1,
+ "taskName": "Trigger Backup",
+ "taskStatus": "Started"
+ }
+ ],
+ "additionalDetails": {
+ "RetentionTag": "Default",
+ "PolicyRuleName": "BackupWeekly",
+ "TaskId": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9"
+ }
+ }
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/ListJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/ListJobs.json
new file mode 100644
index 000000000000..e40eba3044b8
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/ListJobs.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "resourceGroupName": "BugBash1",
+ "vaultName": "BugBashVaultForCCYv11",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "activityID": "932925c4-3d81-4550-8105-c7f7b0a934c5",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/3048870f-b1b7-44c4-b078-368da3fd000e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy2",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb4",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb4",
+ "policyName": "jakavetPolicy2",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb4",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-16T05:00:08.1746833Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/8989416e-7573-4836-8cf1-0e90954f1002",
+ "name": "8989416e-7573-4836-8cf1-0e90954f1002",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "b4f32e03-ded0-46fc-9afc-91853878efcd",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/943c60db-c033-4d93-bb00-66048474e00e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy3",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb5",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb5",
+ "policyName": "jakavetPolicy3",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb5",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-16T18:00:03.6660733Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/ad218c05-242a-47c2-b7b7-c16bd0f8870c",
+ "name": "ad218c05-242a-47c2-b7b7-c16bd0f8870c",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "c4344fb4-7c11-43a4-8307-7ae7c7fb09b9",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/28460a9d-707a-45f3-ace6-b16284c2900e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetdailypolicy",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb2",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb2",
+ "policyName": "jakavetdailypolicy",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb2",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T03:00:03.7604146Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Started",
+ "isUserTriggered": false,
+ "supportedActions": [],
+ "duration": "00:00:00",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "name": "3c60cb49-63e8-4b21-b9bd-26277b3fdfae",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ },
+ {
+ "properties": {
+ "activityID": "94052cf1-a47f-4c1b-93e7-79e07b2bd008-Tue Mar 17 2021 11:11:48 GMT+0530 (India Standard Time)-Ibz",
+ "subscriptionId": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "backupInstanceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupInstances/0b247869-b8be-4885-b832-8ac4cdf5b00e",
+ "policyId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/backupVaults/BugBashVaultForCCYv11/backupPolicies/jakavetPolicy1",
+ "dataSourceId": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/DppPostgresTestingCcy/providers/Microsoft.DBforPostgreSQL/servers/mabtestingccybasicv11/databases/bugbashdb3",
+ "vaultName": "BugBashVaultForCCYv11",
+ "backupInstanceFriendlyName": "mabtestingccybasicv11\\bugbashdb3",
+ "policyName": "jakavetPolicy1",
+ "sourceResourceGroup": "DppPostgresTestingCcy",
+ "dataSourceSetName": "mabtestingccybasicv11",
+ "dataSourceName": "bugbashdb3",
+ "progressEnabled": false,
+ "sourceSubscriptionID": "62b829ee-7936-40c9-a1c9-47a93f9f3965",
+ "startTime": "2021-03-17T11:11:50.5595259Z",
+ "endTime": "2021-03-17T11:14:02.5319646Z",
+ "dataSourceType": "Microsoft.DBforPostgreSQL/servers/databases",
+ "operationCategory": "Backup",
+ "operation": "Backup",
+ "status": "Succeeded",
+ "isUserTriggered": true,
+ "supportedActions": [
+ ""
+ ],
+ "duration": "00:02:11.9724387",
+ "dataSourceLocation": "centraluseuap"
+ },
+ "id": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/BugBash1/providers/Microsoft.DataProtection/Backupvaults/BugBashVaultForCCYv11/backupJobs/43252662-1b43-44fd-a856-0055665cb097",
+ "name": "43252662-1b43-44fd-a856-0055665cb097",
+ "type": "Microsoft.DataProtection/Backupvaults/backupJobs"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/TriggerExportJobs.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/TriggerExportJobs.json
new file mode 100644
index 000000000000..36a834d6774a
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/JobCRUD/TriggerExportJobs.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "SwaggerTestRg",
+ "vaultName": "NetSDKTestRsVault",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.DataProtection/backupVaults/NetSDKTestRsVault/backupJobs/operations/00000000-0000-0000-0000-000000000000?api-version=2021-01-01",
+ "Retry-After": 60
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json
new file mode 100644
index 000000000000..6b3e55167e31
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/CreateOrUpdateBackupPolicy.json
@@ -0,0 +1,200 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "backupPolicyName": "OSSDBPolicy",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy",
+ "name": "OSSDBPolicy",
+ "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default",
+ "id": "Default_"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly",
+ "id": "Weekly_"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/DeleteBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/DeleteBackupPolicy.json
new file mode 100644
index 000000000000..bf34f4eb75d5
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/DeleteBackupPolicy.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "backupPolicyName": "OSSDBPolicy",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/GetBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/GetBackupPolicy.json
new file mode 100644
index 000000000000..39d144b9da70
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/GetBackupPolicy.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "backupPolicyName": "OSSDBPolicy",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy",
+ "name": "OSSDBPolicy",
+ "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default",
+ "id": "Default_"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly",
+ "id": "Weekly_"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/ListBackupPolicy.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/ListBackupPolicy.json
new file mode 100644
index 000000000000..d081b13447f6
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/PolicyCRUD/ListBackupPolicy.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b",
+ "resourceGroupName": "000pikumar",
+ "vaultName": "PrivatePreviewVault",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/backupVaults/PrivatePreviewVault/backupPolicies/OSSDBPolicy",
+ "name": "OSSDBPolicy",
+ "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
+ "properties": {
+ "policyRules": [
+ {
+ "backupParameters": {
+ "backupType": "Full",
+ "objectType": "AzureBackupParams"
+ },
+ "trigger": {
+ "schedule": {
+ "repeatingTimeIntervals": [
+ "R/2019-11-20T08:00:00-08:00/P1W"
+ ]
+ },
+ "taggingCriteria": [
+ {
+ "tagInfo": {
+ "tagName": "Default",
+ "id": "Default_"
+ },
+ "taggingPriority": 99,
+ "isDefault": true
+ },
+ {
+ "tagInfo": {
+ "tagName": "Weekly",
+ "id": "Weekly_"
+ },
+ "taggingPriority": 20,
+ "isDefault": false,
+ "criteria": [
+ {
+ "scheduleTimes": [
+ "2019-03-01T13:00:00Z"
+ ],
+ "daysOfTheWeek": [
+ "Sunday"
+ ],
+ "objectType": "ScheduleBasedBackupCriteria"
+ }
+ ]
+ }
+ ],
+ "objectType": "ScheduleBasedTriggerContext"
+ },
+ "dataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "name": "BackupWeekly",
+ "objectType": "AzureBackupRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P1W"
+ }
+ }
+ ],
+ "isDefault": true,
+ "name": "Default",
+ "objectType": "AzureRetentionRule"
+ },
+ {
+ "lifecycles": [
+ {
+ "sourceDataStore": {
+ "dataStoreType": "VaultStore",
+ "objectType": "DataStoreInfoBase"
+ },
+ "deleteAfter": {
+ "objectType": "AbsoluteDeleteOption",
+ "duration": "P12W"
+ }
+ }
+ ],
+ "isDefault": false,
+ "name": "Weekly",
+ "objectType": "AzureRetentionRule"
+ }
+ ],
+ "datasourceTypes": [
+ "OssDB"
+ ],
+ "objectType": "BackupPolicy"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json
new file mode 100644
index 000000000000..0f56d0c7a038
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/CheckBackupVaultsNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "location": "westus",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "name": "swaggerExample"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/DeleteBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/DeleteBackupVault.json
new file mode 100644
index 000000000000..43ac3df57d55
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/DeleteBackupVault.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-01-01",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-01-01"
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVault.json
new file mode 100644
index 000000000000..e1a45c36428c
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVault.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVaultWithMSI.json
new file mode 100644
index 000000000000..e29e621d2803
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVaultWithMSI.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json
new file mode 100644
index 000000000000..b856d10c6352
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVaultsInResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1",
+ "name": "ExampleVault1",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ },
+ {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2",
+ "name": "ExampleVault2",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVaultsInSubscription.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVaultsInSubscription.json
new file mode 100644
index 000000000000..f747b84bf11b
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetBackupVaultsInSubscription.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup2/providers/Microsoft.DataProtection/BackupVaults/ExampleVault1",
+ "name": "ExampleVault1",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ },
+ {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/BackupVaults/ExampleVault2",
+ "name": "ExampleVault2",
+ "type": "Microsoft.DataProtection/BackupVaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetOperationResultPatch.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetOperationResultPatch.json
new file mode 100644
index 000000000000..39a05ff709b7
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/GetOperationResultPatch.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "api-version": "2021-01-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-01-01",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-01-01"
+ },
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/PatchBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/PatchBackupVault.json
new file mode 100644
index 000000000000..067b37324d0f
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/PatchBackupVault.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-01-01",
+ "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==",
+ "parameters": {
+ "tags": {
+ "newKey": "newVal"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-01-01",
+ "Location": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-01-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "newKey": "newVal"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/PutBackupVault.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/PutBackupVault.json
new file mode 100644
index 000000000000..d3580ee1e89b
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/PutBackupVault.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "identity": {
+ "type": "None"
+ },
+ "properties": {
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Provisioning",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-01-01"
+ }
+ },
+ "200": {
+ "body": {
+ "identity": {
+ "type": "None"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/PutBackupVaultWithMSI.json b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/PutBackupVaultWithMSI.json
new file mode 100644
index 000000000000..e501bfae5e42
--- /dev/null
+++ b/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2021-01-01/examples/VaultCRUD/PutBackupVaultWithMSI.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c",
+ "resourceGroupName": "SampleResourceGroup",
+ "vaultName": "swaggerExample",
+ "api-version": "2021-01-01",
+ "parameters": {
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "identity": {
+ "type": "systemAssigned"
+ },
+ "properties": {
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Provisioning",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ },
+ "headers": {
+ "Retry-After": "10",
+ "Azure-AsyncOperation": "https://management.windowsazure.com/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/providers/Microsoft.DataProtection/locations/West%20US/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2021-01-01"
+ }
+ },
+ "200": {
+ "body": {
+ "identity": {
+ "principalId": "c009b9a0-0024-417c-83cd-025d3776045d",
+ "tenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.DataProtection/Backupvaults/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.DataProtection/Backupvaults",
+ "location": "WestUS",
+ "tags": {
+ "key1": "val1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageSettings": [
+ {
+ "datastoreType": "VaultStore",
+ "type": "LocallyRedundant"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dataprotection/resource-manager/readme.azureresourceschema.md b/specification/dataprotection/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..c8cd4fa0b07b
--- /dev/null
+++ b/specification/dataprotection/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-dataprotection-2021-02-01-preview
+ - tag: schema-dataprotection-2021-01-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-dataprotection-2021-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-dataprotection-2021-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
+
+```
+
+### Tag: schema-dataprotection-2021-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-dataprotection-2021-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
+
+```
diff --git a/specification/dataprotection/resource-manager/readme.go.md b/specification/dataprotection/resource-manager/readme.go.md
index ac5b22e3f639..d5a424541c96 100644
--- a/specification/dataprotection/resource-manager/readme.go.md
+++ b/specification/dataprotection/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: dataprotection
```
@@ -14,6 +14,16 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2021-02-preview
+ - tag: package-2021-01
+```
+
+### Tag: package-2021-01 and go
+
+These settings apply only when `--tag=package-2021-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-01' && $(go)
+output-folder: $(go-sdk-folder)/services/dataprotection/mgmt/2021-01-01/$(namespace)
```
### Tag: package-2021-02-preview and go
diff --git a/specification/dataprotection/resource-manager/readme.java.md b/specification/dataprotection/resource-manager/readme.java.md
index 9be1c6a99a7f..18a57ddb8f12 100644
--- a/specification/dataprotection/resource-manager/readme.java.md
+++ b/specification/dataprotection/resource-manager/readme.java.md
@@ -18,6 +18,20 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-dataprotection
``` yaml $(java) && $(multiapi)
batch:
- tag: package-2021-02-preview
+ - tag: package-2021-01
+```
+
+### Tag: package-2021-01 and java
+
+These settings apply only when `--tag=package-2021-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.dataprotection.v2021_01_01
+ output-folder: $(azure-libraries-for-java-folder)/dataprotection/resource-manager/v2021_01_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2021-02-preview and java
diff --git a/specification/dataprotection/resource-manager/readme.md b/specification/dataprotection/resource-manager/readme.md
index 35c83039e905..acf9d6e4e243 100644
--- a/specification/dataprotection/resource-manager/readme.md
+++ b/specification/dataprotection/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the DataProtection API.
title: Data Protection Client
description: Open API 2.0 Specs for Azure Data Protection service
openapi-type: arm
-tag: package-2021-02-preview
+tag: package-2021-01
csharp-sdks-folder: ./Generated/CSharp
python-sdks-folder: ./Generated/Python
go-sdk-folder: ./Generated/Golang
@@ -46,6 +46,15 @@ semantic-validator: true
message-format: json
```
+### Tag: package-2021-01
+
+These settings apply only when `--tag=package-2021-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-01'
+input-file:
+- Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
+```
+
### Tag: package-2021-02-preview
These settings apply only when `--tag=package-2021-02-preview` is specified on the command line.
@@ -112,6 +121,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
- Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
```
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/DataShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/DataShare.json
index 51794992a778..9cf0ba03e641 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/DataShare.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/DataShare.json
@@ -589,8 +589,11 @@
"DataSets_SqlDBTable_Create": {
"$ref": "./examples/DataSets_SqlDBTable_Create.json"
},
- "DataSets_StorageAccount_Create": {
- "$ref": "./examples/DataSets_StorageAccount_Create.json"
+ "DataSets_ADLSGen2StorageAccount_Create": {
+ "$ref": "./examples/DataSets_ADLSGen2StorageAccount_Create.json"
+ },
+ "DataSets_BlobStorageAccount_Create": {
+ "$ref": "./examples/DataSets_BlobStorageAccount_Create.json"
},
"DataSets_SynapseWorkspaceSqlPoolTable_Create": {
"$ref": "./examples/DataSets_SynapseWorkspaceSqlPoolTable_Create.json"
@@ -864,8 +867,11 @@
"DataSetMappings_SqlDWDataSetToAdlsGen2File_Create": {
"$ref": "./examples/DataSetMappings_SqlDWDataSetToAdlsGen2File_Create.json"
},
- "DataSetMappings_StorageAccount_Create": {
- "$ref": "./examples/DataSetMappings_StorageAccount_Create.json"
+ "DataSetMappings_ADLSGen2StorageAccount_Create": {
+ "$ref": "./examples/DataSetMappings_ADLSGen2StorageAccount_Create.json"
+ },
+ "DataSetMappings_BlobStorageAccount_Create": {
+ "$ref": "./examples/DataSetMappings_BlobStorageAccount_Create.json"
},
"DataSetMappings_SynapseWorkspaceSqlPoolTable_Create": {
"$ref": "./examples/DataSetMappings_SynapseWorkspaceSqlPoolTable_Create.json"
@@ -3805,6 +3811,167 @@
}
}
},
+ "ADLSGen2StorageAccountDataSet": {
+ "description": "An ADLSGen2 storage account data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2StorageAccountDataSetProperties",
+ "description": "ADLSGen2 storage account data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "AdlsGen2StorageAccount"
+ },
+ "ADLSGen2StorageAccountDataSetMapping": {
+ "description": "ADLSGen2 storage account data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2StorageAccountDataSetMappingProperties",
+ "description": "ADLSGen2 Storage account data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "AdlsGen2StorageAccount"
+ },
+ "ADLSGen2StorageAccountDataSetMappingProperties": {
+ "description": "Properties of the ADLSGen2 storage account data set.",
+ "required": [
+ "storageAccountResourceId",
+ "containerName",
+ "folder",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "Gets or sets the container name.",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
+ },
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
+ },
+ "folder": {
+ "description": "Gets or sets the path to folder within the container.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location of the sink storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountPath": {
+ "description": "Gets or sets the mount path",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ },
+ "storageAccountResourceId": {
+ "description": "Resource id of the sink storage account",
+ "type": "string"
+ }
+ }
+ },
+ "ADLSGen2StorageAccountDataSetProperties": {
+ "description": "Properties of the ADLSGen2 storage account data set.",
+ "required": [
+ "storageAccountResourceId",
+ "paths"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Location of the ADLSGen2 storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "paths": {
+ "description": "A list of ADLSGen2 storage account paths.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ADLSGen2StorageAccountPath"
+ }
+ },
+ "storageAccountResourceId": {
+ "description": "Resource id of the ADLSGen2 storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "ADLSGen2StorageAccountPath": {
+ "description": "Defines a single ADLS Gen2 storage account path.",
+ "required": [
+ "containerName"
+ ],
+ "type": "object",
+ "properties": {
+ "consumerPath": {
+ "description": "Gets or sets the path on the consumer side where the dataset is to be mapped.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Gets or sets the container name to share.",
+ "type": "string"
+ },
+ "providerPath": {
+ "description": "Gets or sets the path to file/folder within the container.",
+ "type": "string"
+ }
+ }
+ },
"BlobContainerDataSet": {
"description": "An Azure storage blob container data set.",
"required": [
@@ -4248,6 +4415,167 @@
}
}
},
+ "BlobStorageAccountDataSet": {
+ "description": "An Azure blob storage account data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BlobStorageAccountDataSetProperties",
+ "description": "Storage account data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "BlobStorageAccount"
+ },
+ "BlobStorageAccountDataSetMapping": {
+ "description": "A blob storage account data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BlobStorageAccountDataSetMappingProperties",
+ "description": "Blob Storage account data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "BlobStorageAccount"
+ },
+ "BlobStorageAccountDataSetMappingProperties": {
+ "description": "Properties of the blob storage account data set.",
+ "required": [
+ "storageAccountResourceId",
+ "containerName",
+ "folder",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "Gets or sets the container name.",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
+ },
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
+ },
+ "folder": {
+ "description": "Gets or sets the path to folder within the container.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location of the sink storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountPath": {
+ "description": "Gets or sets the mount path on the consumer side where the dataset is to be mapped.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ },
+ "storageAccountResourceId": {
+ "description": "Resource id of the sink storage account",
+ "type": "string"
+ }
+ }
+ },
+ "BlobStorageAccountDataSetProperties": {
+ "description": "Properties of the blob storage account data set.",
+ "required": [
+ "storageAccountResourceId",
+ "paths"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Location of the storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "paths": {
+ "description": "A list of storage account paths.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BlobStorageAccountPath"
+ }
+ },
+ "storageAccountResourceId": {
+ "description": "Resource id of the storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "BlobStorageAccountPath": {
+ "description": "Defines a single blob storage account path.",
+ "required": [
+ "containerName"
+ ],
+ "type": "object",
+ "properties": {
+ "consumerPath": {
+ "description": "Gets or sets the path on the consumer side where the dataset is to be mapped.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Gets or sets the container name to share.",
+ "type": "string"
+ },
+ "providerPath": {
+ "description": "Gets or sets the path to file/folder within the container.",
+ "type": "string"
+ }
+ }
+ },
"ConsumerInvitation": {
"description": "A consumer Invitation data transfer object.",
"required": [
@@ -4457,12 +4785,13 @@
"AdlsGen2File",
"AdlsGen1Folder",
"AdlsGen1File",
- "StorageAccount",
+ "AdlsGen2StorageAccount",
"KustoCluster",
"KustoDatabase",
"SqlDBTable",
"SqlDWTable",
- "SynapseWorkspaceSqlPoolTable"
+ "SynapseWorkspaceSqlPoolTable",
+ "BlobStorageAccount"
],
"type": "string",
"readOnly": true,
@@ -4496,12 +4825,13 @@
"AdlsGen2File",
"AdlsGen1Folder",
"AdlsGen1File",
- "StorageAccount",
+ "AdlsGen2StorageAccount",
"KustoCluster",
"KustoDatabase",
"SqlDBTable",
"SqlDWTable",
- "SynapseWorkspaceSqlPoolTable"
+ "SynapseWorkspaceSqlPoolTable",
+ "BlobStorageAccount"
],
"type": "string",
"x-ms-enum": {
@@ -4554,12 +4884,13 @@
"AdlsGen2FileSystem",
"AdlsGen2Folder",
"AdlsGen2File",
- "StorageAccount",
+ "AdlsGen2StorageAccount",
"KustoCluster",
"KustoDatabase",
"SqlDBTable",
"SqlDWTable",
- "SynapseWorkspaceSqlPoolTable"
+ "SynapseWorkspaceSqlPoolTable",
+ "BlobStorageAccount"
],
"type": "string",
"x-ms-enum": {
@@ -6353,158 +6684,6 @@
}
}
},
- "StorageAccountDataSet": {
- "description": "An Azure storage account data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/StorageAccountDataSetProperties",
- "description": "Storage account data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "StorageAccount"
- },
- "StorageAccountDataSetMapping": {
- "description": "A storage account data set mapping.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/StorageAccountDataSetMappingProperties",
- "description": "Storage account data set mapping properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "StorageAccount"
- },
- "StorageAccountDataSetMappingProperties": {
- "description": "Properties of the storage account data set.",
- "required": [
- "storageAccountResourceId",
- "containerName",
- "dataSetId"
- ],
- "type": "object",
- "properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
- },
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
- },
- "location": {
- "description": "Location of the sink storage account.",
- "type": "string",
- "readOnly": true
- },
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- },
- "storageAccountResourceId": {
- "description": "Resource id of the sink storage account",
- "type": "string"
- }
- }
- },
- "StorageAccountDataSetProperties": {
- "description": "Properties of the storage account data set.",
- "required": [
- "storageAccountResourceId",
- "paths"
- ],
- "type": "object",
- "properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "location": {
- "description": "Location of the storage account.",
- "type": "string",
- "readOnly": true
- },
- "paths": {
- "description": "A list of storage account paths.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/StorageAccountPath"
- }
- },
- "storageAccountResourceId": {
- "description": "Resource id of the storage account.",
- "type": "string"
- }
- }
- },
- "StorageAccountPath": {
- "description": "Defines a single storage account path.",
- "required": [
- "containerName"
- ],
- "type": "object",
- "properties": {
- "consumerPath": {
- "description": "Gets or sets the path on the consumer side where the dataset is to be mapped.",
- "type": "string"
- },
- "containerName": {
- "description": "Gets or sets the container name to share.",
- "type": "string"
- },
- "providerPath": {
- "description": "Gets or sets the path to file/folder within the container.",
- "type": "string"
- }
- }
- },
"SynapseWorkspaceSqlPoolTableDataSet": {
"description": "A Synapse Workspace Sql Pool Table data set.",
"required": [
@@ -6632,12 +6811,13 @@
"AdlsGen2File",
"AdlsGen1Folder",
"AdlsGen1File",
- "StorageAccount",
+ "AdlsGen2StorageAccount",
"KustoCluster",
"KustoDatabase",
"SqlDBTable",
"SqlDWTable",
- "SynapseWorkspaceSqlPoolTable"
+ "SynapseWorkspaceSqlPoolTable",
+ "BlobStorageAccount"
],
"type": "string",
"readOnly": true,
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSetMappings_ADLSGen2StorageAccount_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSetMappings_ADLSGen2StorageAccount_Create.json
new file mode 100644
index 000000000000..c6f1b67492e3
--- /dev/null
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSetMappings_ADLSGen2StorageAccount_Create.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroupName": "SampleResourceGroup",
+ "accountName": "Account1",
+ "shareSubscriptionName": "ShareSubscription1",
+ "dataSetMappingName": "DatasetMapping1",
+ "api-version": "2020-10-01-preview",
+ "dataSetMapping": {
+ "kind": "AdlsGen2StorageAccount",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "storageAccountResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Storage/storageaccounts/storageaccount1",
+ "containerName": "Container1",
+ "mountPath": "foldera/folderd1",
+ "folder": "destinationFolder"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "AdlsGen2StorageAccount",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "storageAccountResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Storage/storageaccounts/storageaccount1",
+ "containerName": "Container1",
+ "mountPath": "foldera/folderd1",
+ "folder": "destinationFolder",
+ "location": "centraluseuap",
+ "dataSetMappingStatus": "Ok",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/accounts/shareSubscriptions/dataSetMappings"
+ }
+ },
+ "201": {
+ "headers": {
+ "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "AdlsGen2StorageAccount",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "storageAccountResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Storage/storageaccounts/storageaccount1",
+ "containerName": "Container1",
+ "mountPath": "foldera/folderd1",
+ "folder": "destinationFolder",
+ "location": "centraluseuap",
+ "dataSetMappingStatus": "Ok",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/accounts/shareSubscriptions/dataSetMappings"
+ }
+ }
+ }
+}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSetMappings_BlobStorageAccount_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSetMappings_BlobStorageAccount_Create.json
new file mode 100644
index 000000000000..4c2fef478418
--- /dev/null
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSetMappings_BlobStorageAccount_Create.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroupName": "SampleResourceGroup",
+ "accountName": "Account1",
+ "shareSubscriptionName": "ShareSubscription1",
+ "dataSetMappingName": "DatasetMapping1",
+ "api-version": "2020-10-01-preview",
+ "dataSetMapping": {
+ "kind": "BlobStorageAccount",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "storageAccountResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Storage/storageaccounts/storageaccount1",
+ "containerName": "Container1",
+ "mountPath": "foldera/folderd1",
+ "folder": "destinationFolder"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "BlobStorageAccount",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "storageAccountResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Storage/storageaccounts/storageaccount1",
+ "containerName": "Container1",
+ "mountPath": "foldera/folderd1",
+ "folder": "destinationFolder",
+ "location": "centraluseuap",
+ "dataSetMappingStatus": "Ok",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/accounts/shareSubscriptions/dataSetMappings"
+ }
+ },
+ "201": {
+ "headers": {
+ "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "kind": "BlobStorageAccount",
+ "properties": {
+ "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
+ "storageAccountResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Storage/storageaccounts/storageaccount1",
+ "containerName": "Container1",
+ "mountPath": "foldera/folderd1",
+ "folder": "destinationFolder",
+ "location": "centraluseuap",
+ "dataSetMappingStatus": "Ok",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
+ "name": "DatasetMapping1",
+ "type": "Microsoft.DataShare/accounts/shareSubscriptions/dataSetMappings"
+ }
+ }
+ }
+}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSetMappings_StorageAccount_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSetMappings_StorageAccount_Create.json
deleted file mode 100644
index d92a1aced2fa..000000000000
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSetMappings_StorageAccount_Create.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
- "resourceGroupName": "SampleResourceGroup",
- "accountName": "Account1",
- "shareSubscriptionName": "ShareSubscription1",
- "dataSetMappingName": "DatasetMapping1",
- "api-version": "2020-10-01-preview",
- "dataSetMapping": {
- "kind": "StorageAccount",
- "properties": {
- "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
- "storageAccountResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Storage/storageaccounts/storageaccount1",
- "containerName": "Container1"
- }
- }
- },
- "responses": {
- "200": {
- "headers": {
- "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
- "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
- "X-Content-Type-Options": "nosniff",
- "x-ms-ratelimit-remaining-tenant-reads": "14999",
- "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
- },
- "body": {
- "kind": "StorageAccount",
- "properties": {
- "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
- "storageAccountResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Storage/storageaccounts/storageaccount1",
- "containerName": "Container1",
- "location": "centraluseuap",
- "dataSetMappingStatus": "Ok",
- "provisioningState": "Succeeded"
- },
- "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
- "name": "DatasetMapping1",
- "type": "Microsoft.DataShare/accounts/shareSubscriptions/dataSetMappings"
- }
- },
- "201": {
- "headers": {
- "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
- "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
- "X-Content-Type-Options": "nosniff",
- "x-ms-ratelimit-remaining-tenant-reads": "14999",
- "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
- },
- "body": {
- "kind": "StorageAccount",
- "properties": {
- "dataSetId": "a08f184b-0567-4b11-ba22-a1199336d226",
- "storageAccountResourceId": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Storage/storageaccounts/storageaccount1",
- "containerName": "Container1",
- "location": "centraluseuap",
- "dataSetMappingStatus": "Ok",
- "provisioningState": "Succeeded"
- },
- "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shareSubscriptions/ShareSubscription1/dataSetMappings/DatasetMapping1",
- "name": "DatasetMapping1",
- "type": "Microsoft.DataShare/accounts/shareSubscriptions/dataSetMappings"
- }
- }
- }
-}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSets_ADLSGen2StorageAccount_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSets_ADLSGen2StorageAccount_Create.json
new file mode 100644
index 000000000000..f10b29370d95
--- /dev/null
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSets_ADLSGen2StorageAccount_Create.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroupName": "SampleResourceGroup",
+ "accountName": "Account1",
+ "shareName": "Share1",
+ "dataSetName": "Dataset1",
+ "api-version": "2020-10-01-preview",
+ "dataSet": {
+ "kind": "AdlsGen2StorageAccount",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/resourceGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1",
+ "paths": [
+ {
+ "containerName": "container1",
+ "providerPath": "samplefile.txt",
+ "consumerPath": "/samplefolder1"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/resourceGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1",
+ "paths": [
+ {
+ "containerName": "container1",
+ "providerPath": "samplefile.txt",
+ "consumerPath": "/samplefolder1"
+ }
+ ],
+ "location": "centraluseuap",
+ "dataSetId": "66be0fd3-8669-465c-a3d3-2442a7345e48"
+ },
+ "kind": "AdlsGen2StorageAccount",
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/dataSets/DataSet1",
+ "name": "DataSet1",
+ "type": "Microsoft.DataShare/accounts/shares/dataSets"
+ }
+ },
+ "201": {
+ "headers": {
+ "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/resourceGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1",
+ "paths": [
+ {
+ "containerName": "container1",
+ "providerPath": "samplefile.txt",
+ "consumerPath": "/samplefolder1"
+ }
+ ],
+ "location": "centraluseuap",
+ "dataSetId": "66be0fd3-8669-465c-a3d3-2442a7345e48"
+ },
+ "kind": "AdlsGen2StorageAccount",
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/dataSets/DataSet1",
+ "name": "DataSet1",
+ "type": "Microsoft.DataShare/accounts/shares/dataSets"
+ }
+ }
+ }
+}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSets_BlobStorageAccount_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSets_BlobStorageAccount_Create.json
new file mode 100644
index 000000000000..b621369853aa
--- /dev/null
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSets_BlobStorageAccount_Create.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
+ "resourceGroupName": "SampleResourceGroup",
+ "accountName": "Account1",
+ "shareName": "Share1",
+ "dataSetName": "Dataset1",
+ "api-version": "2020-10-01-preview",
+ "dataSet": {
+ "kind": "BlobStorageAccount",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/resourceGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1",
+ "paths": [
+ {
+ "containerName": "container1",
+ "providerPath": "samplefile.txt",
+ "consumerPath": "/samplefolder1"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/resourceGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1",
+ "paths": [
+ {
+ "containerName": "container1",
+ "providerPath": "samplefile.txt",
+ "consumerPath": "/samplefolder1"
+ }
+ ],
+ "location": "centraluseuap",
+ "dataSetId": "66be0fd3-8669-465c-a3d3-2442a7345e48"
+ },
+ "kind": "BlobStorageAccount",
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/dataSets/DataSet1",
+ "name": "DataSet1",
+ "type": "Microsoft.DataShare/accounts/shares/dataSets"
+ }
+ },
+ "201": {
+ "headers": {
+ "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
+ "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-tenant-reads": "14999",
+ "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
+ },
+ "body": {
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/resourceGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1",
+ "paths": [
+ {
+ "containerName": "container1",
+ "providerPath": "samplefile.txt",
+ "consumerPath": "/samplefolder1"
+ }
+ ],
+ "location": "centraluseuap",
+ "dataSetId": "66be0fd3-8669-465c-a3d3-2442a7345e48"
+ },
+ "kind": "BlobStorageAccount",
+ "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/dataSets/DataSet1",
+ "name": "DataSet1",
+ "type": "Microsoft.DataShare/accounts/shares/dataSets"
+ }
+ }
+ }
+}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSets_StorageAccount_Create.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSets_StorageAccount_Create.json
deleted file mode 100644
index fb516759cb9f..000000000000
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2020-10-01-preview/examples/DataSets_StorageAccount_Create.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "433a8dfd-e5d5-4e77-ad86-90acdc75eb1a",
- "resourceGroupName": "SampleResourceGroup",
- "accountName": "Account1",
- "shareName": "Share1",
- "dataSetName": "Dataset1",
- "api-version": "2020-10-01-preview",
- "dataSet": {
- "kind": "StorageAccount",
- "properties": {
- "storageAccountResourceId": "/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/resourceGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1",
- "paths": [
- {
- "containerName": "container1",
- "providerPath": "samplefile.txt",
- "consumerPath": "/samplefolder1"
- }
- ]
- }
- }
- },
- "responses": {
- "200": {
- "headers": {
- "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
- "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
- "X-Content-Type-Options": "nosniff",
- "x-ms-ratelimit-remaining-tenant-reads": "14999",
- "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
- },
- "body": {
- "properties": {
- "storageAccountResourceId": "/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/resourceGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1",
- "paths": [
- {
- "containerName": "container1",
- "providerPath": "samplefile.txt",
- "consumerPath": "/samplefolder1"
- }
- ],
- "location": "centraluseuap",
- "dataSetId": "66be0fd3-8669-465c-a3d3-2442a7345e48"
- },
- "kind": "StorageAccount",
- "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/dataSets/DataSet1",
- "name": "DataSet1",
- "type": "Microsoft.DataShare/accounts/shares/dataSets"
- }
- },
- "201": {
- "headers": {
- "Date": "Wed, 28 Oct 2020 18:04:32 GMT",
- "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888",
- "X-Content-Type-Options": "nosniff",
- "x-ms-ratelimit-remaining-tenant-reads": "14999",
- "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd"
- },
- "body": {
- "properties": {
- "storageAccountResourceId": "/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/resourceGroup1/providers/Microsoft.Storage/storageAccounts/storageAccount1",
- "paths": [
- {
- "containerName": "container1",
- "providerPath": "samplefile.txt",
- "consumerPath": "/samplefolder1"
- }
- ],
- "location": "centraluseuap",
- "dataSetId": "66be0fd3-8669-465c-a3d3-2442a7345e48"
- },
- "kind": "StorageAccount",
- "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1/dataSets/DataSet1",
- "name": "DataSet1",
- "type": "Microsoft.DataShare/accounts/shares/dataSets"
- }
- }
- }
-}
diff --git a/specification/datashare/resource-manager/readme.go.md b/specification/datashare/resource-manager/readme.go.md
index c9a146b4c00d..0aff9ce0167c 100644
--- a/specification/datashare/resource-manager/readme.go.md
+++ b/specification/datashare/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: datashare
clear-output-folder: true
```
diff --git a/specification/datashare/resource-manager/readme.md b/specification/datashare/resource-manager/readme.md
index f217a0cad957..584f9e203462 100644
--- a/specification/datashare/resource-manager/readme.md
+++ b/specification/datashare/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the DataShare API.
``` yaml
openapi-type: arm
-tag: package-2019-11-01
+tag: package-2020-09-01
```
@@ -79,6 +79,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-python-track2
- repo: azure-sdk-for-go
- repo: azure-cli-extensions
```
@@ -100,31 +101,7 @@ csharp:
## Python
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-
-``` yaml $(python)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.datashare
- package-name: azure-mgmt-datashare
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/datashare/azure-mgmt-datashare/azure/mgmt/datashare
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/datashare/azure-mgmt-datashare
-```
-
+See configuration in [readme.python.md](./readme.python.md)
## Go
diff --git a/specification/datashare/resource-manager/readme.python.md b/specification/datashare/resource-manager/readme.python.md
index cb425ccd213a..9bbfc58e2633 100644
--- a/specification/datashare/resource-manager/readme.python.md
+++ b/specification/datashare/resource-manager/readme.python.md
@@ -4,15 +4,18 @@ These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
```yaml $(python) && !$(track2)
+python-mode: create
python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
namespace: azure.mgmt.datashare
package-name: azure-mgmt-datashare
package-version: 2019-11-01
clear-output-folder: true
```
```yaml $(python) && $(track2)
+python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.datashare
diff --git a/specification/datashare/resource-manager/readme.terraform.md b/specification/datashare/resource-manager/readme.terraform.md
new file mode 100644
index 000000000000..8b51574c6e13
--- /dev/null
+++ b/specification/datashare/resource-manager/readme.terraform.md
@@ -0,0 +1,41 @@
+## overrides
+
+These settings apply only when `--terraform` is specified on the command line.
+``` yaml $(terraform)
+overrides:
+ - where:
+ resource: "*"
+ set:
+ - NeedSeparated: false
+ - where:
+ resource: "Accounts"
+ set:
+ - CombineCreateUpdate: false
+```
+## Terraform
+
+These settings apply only when `--terraform` is specified on the command line.
+
+``` yaml $(terraform)
+terraform:
+ cli-name: dataShare
+ package-name: datashare
+clear-output-folder: true
+output-folder: $(terraform-output-folder)/datashare
+```
+
+``` yaml $(tag) == 'package-2018-11-01-preview' && $(terraform)
+gosdk-folder: services/preview/datashare/mgmt/2018-11-01-preview/datashare
+```
+
+``` yaml $(tag) == 'package-2019-11-01' && $(terraform)
+gosdk-folder: services/datashare/mgmt/2019-11-01/datashare
+```
+
+``` yaml $(tag) == 'package-2020-09-01' && $(terraform)
+gosdk-folder: services/datashare/mgmt/2020-09-01/datashare
+```
+
+``` yaml $(tag) == 'package-2020-10-01-preview' && $(terraform)
+gosdk-folder: services/preview/datashare/mgmt/2020-10-01-preview/datashare
+```
diff --git a/specification/datashare/resource-manager/readme.trenton.md b/specification/datashare/resource-manager/readme.trenton.md
deleted file mode 100644
index a4e0699566a8..000000000000
--- a/specification/datashare/resource-manager/readme.trenton.md
+++ /dev/null
@@ -1,25 +0,0 @@
-## overrides
-
-These settings apply only when `--trenton` is specified on the command line.
-``` yaml $(trenton)
-overrides:
- - where:
- resource: "*"
- set:
- - NeedSeparated: false
- - where:
- resource: "Accounts"
- set:
- - CombineCreateUpdate: false
-```
-## trenton
-
-These settings apply only when `--trenton` is specified on the command line.
-
-``` yaml $(trenton)
-trenton:
- cli-name: dataShare
- package-name: datashare
-clear-output-folder: true
-output-folder: $(trenton-output-folder)/datashare
-```
diff --git a/specification/deploymentmanager/resource-manager/readme.go.md b/specification/deploymentmanager/resource-manager/readme.go.md
index 690a00d5f53b..96d7d673fed6 100644
--- a/specification/deploymentmanager/resource-manager/readme.go.md
+++ b/specification/deploymentmanager/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: deploymentmanager
clear-output-folder: true
```
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-01-14-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-01-14-preview/desktopvirtualization.json
index 2a682bd19c46..a7bbede3c968 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-01-14-preview/desktopvirtualization.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-01-14-preview/desktopvirtualization.json
@@ -4020,7 +4020,7 @@
},
{
"value": "FSLogixNotHealthy",
- "description": "FSlogix is in an unhealthy state on the session host."
+ "description": "FSLogix is in an unhealthy state on the session host."
},
{
"value": "NeedsAssistance",
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-02-01-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-02-01-preview/desktopvirtualization.json
index 877afde7b757..de47c2bfd167 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-02-01-preview/desktopvirtualization.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-02-01-preview/desktopvirtualization.json
@@ -4020,7 +4020,7 @@
},
{
"value": "FSLogixNotHealthy",
- "description": "FSlogix is in an unhealthy state on the session host."
+ "description": "FSLogix is in an unhealthy state on the session host."
},
{
"value": "NeedsAssistance",
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/desktopvirtualization.json
new file mode 100644
index 000000000000..10311cb1d2fa
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/desktopvirtualization.json
@@ -0,0 +1,4862 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-09-preview",
+ "title": "Desktop Virtualization API Client"
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "host": "management.azure.com",
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.DesktopVirtualization/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "List all of the available operations the Desktop Virtualization resource provider supports.",
+ "x-ms-examples": {
+ "OperationDescription_List": {
+ "$ref": "./examples/OperationDescription_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved operations.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderOperationList"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Get",
+ "description": "Get a workspace.",
+ "x-ms-examples": {
+ "Workspace_Get": {
+ "$ref": "./examples/Workspace_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_CreateOrUpdate",
+ "description": "Create or update a workspace.",
+ "x-ms-examples": {
+ "Workspace_Create": {
+ "$ref": "./examples/Workspace_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "name": "workspace",
+ "description": "Object containing Workspace definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "201": {
+ "description": "Successfully created workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Delete",
+ "description": "Remove a workspace.",
+ "x-ms-examples": {
+ "Workspace_Delete": {
+ "$ref": "./examples/Workspace_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted workspace."
+ },
+ "204": {
+ "description": "Workspace does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_Update",
+ "description": "Update a workspace.",
+ "x-ms-examples": {
+ "Workspace_Update": {
+ "$ref": "./examples/Workspace_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "name": "workspace",
+ "description": "Object containing Workspace definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/WorkspacePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated workspace.",
+ "schema": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_ListByResourceGroup",
+ "description": "List workspaces.",
+ "x-ms-examples": {
+ "Workspace_ListByResourceGroup": {
+ "$ref": "./examples/Workspace_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspaces in resource group.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces": {
+ "get": {
+ "tags": [
+ "Workspace"
+ ],
+ "operationId": "Workspaces_ListBySubscription",
+ "description": "List workspaces in subscription.",
+ "x-ms-examples": {
+ "Workspace_ListBySubscription": {
+ "$ref": "./examples/Workspace_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved workspaces in subscription.",
+ "schema": {
+ "$ref": "#/definitions/WorkspaceList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Get",
+ "description": "Get a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Get": {
+ "$ref": "./examples/ScalingPlan_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Create",
+ "description": "Create or update a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Create": {
+ "$ref": "./examples/ScalingPlan_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "scalingPlan",
+ "description": "Object containing scaling plan definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "201": {
+ "description": "Successfully created scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Delete",
+ "description": "Remove a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Delete": {
+ "$ref": "./examples/ScalingPlan_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted scaling plan."
+ },
+ "204": {
+ "description": "Scaling plan does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_Update",
+ "description": "Update a scaling plan.",
+ "x-ms-examples": {
+ "ScalingPlans_Update": {
+ "$ref": "./examples/ScalingPlan_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScalingPlanNameParameter"
+ },
+ {
+ "name": "scalingPlan",
+ "description": "Object containing scaling plan definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated scaling plan.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListByResourceGroup",
+ "description": "List scaling plans.",
+ "x-ms-examples": {
+ "ScalingPlans_ListByResourceGroup": {
+ "$ref": "./examples/ScalingPlan_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plans in resource group.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListBySubscription",
+ "description": "List scaling plans in subscription.",
+ "x-ms-examples": {
+ "ScalingPlans_ListBySubscription": {
+ "$ref": "./examples/ScalingPlan_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plans in subscription.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Get",
+ "description": "Get an application group.",
+ "x-ms-examples": {
+ "ApplicationGroup_Get": {
+ "$ref": "./examples/ApplicationGroup_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_CreateOrUpdate",
+ "description": "Create or update an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroup_Create": {
+ "$ref": "./examples/ApplicationGroup_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "applicationGroup",
+ "description": "Object containing ApplicationGroup definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "201": {
+ "description": "Successfully created application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Delete",
+ "description": "Remove an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroup_Delete": {
+ "$ref": "./examples/ApplicationGroup_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed application group."
+ },
+ "204": {
+ "description": "Application group does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_Update",
+ "description": "Update an applicationGroup.",
+ "x-ms-examples": {
+ "ApplicationGroups_Update": {
+ "$ref": "./examples/ApplicationGroup_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "name": "applicationGroup",
+ "description": "Object containing ApplicationGroup definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_ListByResourceGroup",
+ "description": "List applicationGroups.",
+ "x-ms-examples": {
+ "ApplicationGroup_ListByResourceGroup": {
+ "$ref": "./examples/ApplicationGroup_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application groups in resource group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups": {
+ "get": {
+ "tags": [
+ "ApplicationGroup"
+ ],
+ "operationId": "ApplicationGroups_ListBySubscription",
+ "description": "List applicationGroups in subscription.",
+ "x-ms-examples": {
+ "ApplicationGroup_List": {
+ "$ref": "./examples/ApplicationGroup_ListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application groups in subscription.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGroupList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems": {
+ "get": {
+ "tags": [
+ "StartMenuItem"
+ ],
+ "operationId": "StartMenuItems_List",
+ "description": "List start menu items in the given application group.",
+ "x-ms-examples": {
+ "StartMenuItem_List": {
+ "$ref": "./examples/StartMenuItem_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved start menu items in application group.",
+ "schema": {
+ "$ref": "#/definitions/StartMenuItemList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Get",
+ "description": "Get an application.",
+ "x-ms-examples": {
+ "Application_Get": {
+ "$ref": "./examples/Application_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_CreateOrUpdate",
+ "description": "Create or update an application.",
+ "x-ms-examples": {
+ "Application_Create": {
+ "$ref": "./examples/Application_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "application",
+ "description": "Object containing Application definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "201": {
+ "description": "Successfully created application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Delete",
+ "description": "Remove an application.",
+ "x-ms-examples": {
+ "Application_Delete": {
+ "$ref": "./examples/Application_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed application."
+ },
+ "204": {
+ "description": "Application does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_Update",
+ "description": "Update an application.",
+ "x-ms-examples": {
+ "Application_Update": {
+ "$ref": "./examples/Application_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "application",
+ "description": "Object containing Application definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated application.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Applications_List",
+ "description": "List applications.",
+ "x-ms-examples": {
+ "Applications_List": {
+ "$ref": "./examples/Application_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved applications in application group.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}": {
+ "get": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_Get",
+ "description": "Get a desktop.",
+ "x-ms-examples": {
+ "Desktop_Get": {
+ "$ref": "./examples/Desktop_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DesktopNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved desktop.",
+ "schema": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_Update",
+ "description": "Update a desktop.",
+ "x-ms-examples": {
+ "Desktop_Update": {
+ "$ref": "./examples/Desktop_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DesktopNameParameter"
+ },
+ {
+ "name": "desktop",
+ "description": "Object containing Desktop definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/DesktopPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated desktop.",
+ "schema": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops": {
+ "get": {
+ "tags": [
+ "Desktop"
+ ],
+ "operationId": "Desktops_List",
+ "description": "List desktops.",
+ "x-ms-examples": {
+ "Desktop_List": {
+ "$ref": "./examples/Desktop_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved desktops in application group.",
+ "schema": {
+ "$ref": "#/definitions/DesktopList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Get",
+ "description": "Get a host pool.",
+ "x-ms-examples": {
+ "HostPool_Get": {
+ "$ref": "./examples/HostPool_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_CreateOrUpdate",
+ "description": "Create or update a host pool.",
+ "x-ms-examples": {
+ "HostPool_Create": {
+ "$ref": "./examples/HostPool_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPool",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "201": {
+ "description": "Successfully created host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Delete",
+ "description": "Remove a host pool.",
+ "x-ms-examples": {
+ "HostPool_Delete": {
+ "$ref": "./examples/HostPool_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to delete sessionHost."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed host pool."
+ },
+ "204": {
+ "description": "Host pool does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_Update",
+ "description": "Update a host pool.",
+ "x-ms-examples": {
+ "HostPool_Update": {
+ "$ref": "./examples/HostPool_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "hostPool",
+ "description": "Object containing HostPool definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/HostPoolPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated host pool.",
+ "schema": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_ListByResourceGroup",
+ "description": "List hostPools.",
+ "x-ms-examples": {
+ "HostPool_ListByResourceGroup": {
+ "$ref": "./examples/HostPool_ListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in resource group.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools": {
+ "get": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_List",
+ "description": "List hostPools in subscription.",
+ "x-ms-examples": {
+ "HostPool_List": {
+ "$ref": "./examples/HostPool_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in subscription.",
+ "schema": {
+ "$ref": "#/definitions/HostPoolList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/retrieveRegistrationToken": {
+ "post": {
+ "tags": [
+ "HostPool"
+ ],
+ "operationId": "HostPools_RetrieveRegistrationToken",
+ "description": "Registration token of the host pool.",
+ "x-ms-examples": {
+ "HostPools_RetrieveRegistrationToken_Post": {
+ "$ref": "./examples/HostPools_RetrieveRegistrationToken_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved host pool in resource group.",
+ "schema": {
+ "$ref": "#/definitions/RegistrationInfo"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_ListByHostPool",
+ "description": "List userSessions.",
+ "x-ms-examples": {
+ "UserSession_ListByHostPool": {
+ "$ref": "./examples/UserSession_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user sessions in host pool.",
+ "schema": {
+ "$ref": "#/definitions/UserSessionList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}": {
+ "get": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Get",
+ "description": "Get a session host.",
+ "x-ms-examples": {
+ "SessionHost_Get": {
+ "$ref": "./examples/SessionHost_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved session host.",
+ "schema": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Delete",
+ "description": "Remove a SessionHost.",
+ "x-ms-examples": {
+ "SessionHost_Delete": {
+ "$ref": "./examples/SessionHost_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to force sessionHost deletion even when userSession exists."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed session host."
+ },
+ "204": {
+ "description": "Session host does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_Update",
+ "description": "Update a session host.",
+ "x-ms-examples": {
+ "SessionHost_Update": {
+ "$ref": "./examples/SessionHost_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "name": "sessionHost",
+ "description": "Object containing SessionHost definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SessionHostPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated session host.",
+ "schema": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts": {
+ "get": {
+ "tags": [
+ "SessionHost"
+ ],
+ "operationId": "SessionHosts_List",
+ "description": "List sessionHosts.",
+ "x-ms-examples": {
+ "SessionHost_List": {
+ "$ref": "./examples/SessionHost_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved session hosts in host pool.",
+ "schema": {
+ "$ref": "#/definitions/SessionHostList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}": {
+ "get": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Get",
+ "description": "Get a msixpackage.",
+ "x-ms-examples": {
+ "MSIXPackage_Get": {
+ "$ref": "./examples/MsixPackage_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_CreateOrUpdate",
+ "description": "Create or update a MSIX package.",
+ "x-ms-examples": {
+ "MSIXPackage_Create": {
+ "$ref": "./examples/MsixPackage_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ },
+ {
+ "name": "msixPackage",
+ "description": "Object containing MSIX Package definitions.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "201": {
+ "description": "Successfully created MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Delete",
+ "description": "Remove an MSIX Package.",
+ "x-ms-examples": {
+ "MSIXPackage_Delete": {
+ "$ref": "./examples/MsixPackage_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed MSIX Package."
+ },
+ "204": {
+ "description": "MSIX Package does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_Update",
+ "description": "Update an MSIX Package.",
+ "x-ms-examples": {
+ "MSIXPackage_Update": {
+ "$ref": "./examples/MsixPackage_Update.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MSIXPackageFullNameParameter"
+ },
+ {
+ "name": "msixPackage",
+ "description": "Object containing MSIX Package definitions.",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/MSIXPackagePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated MSIX Package.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages": {
+ "get": {
+ "tags": [
+ "MSIXPackage"
+ ],
+ "operationId": "MSIXPackages_List",
+ "description": "List MSIX packages in hostpool.",
+ "x-ms-examples": {
+ "MSIXPackage_List": {
+ "$ref": "./examples/MsixPackage_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX Packages in hostpool.",
+ "schema": {
+ "$ref": "#/definitions/MSIXPackageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage": {
+ "post": {
+ "tags": [
+ "MsixImage"
+ ],
+ "operationId": "MsixImages_Expand",
+ "description": "Expands and Lists MSIX packages in an Image, given the Image Path.",
+ "x-ms-examples": {
+ "MsixImage_Expand": {
+ "$ref": "./examples/MsixImage_Expand_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "name": "msixImageURI",
+ "description": "Object containing URI to MSIX Image",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MSIXImageURI"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved MSIX packages in specified Image Path.",
+ "schema": {
+ "$ref": "#/definitions/ExpandMsixImageList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Get",
+ "description": "Get a userSession.",
+ "x-ms-examples": {
+ "UserSession_Get": {
+ "$ref": "./examples/UserSession_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user session.",
+ "schema": {
+ "$ref": "#/definitions/UserSession"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Delete",
+ "description": "Remove a userSession.",
+ "x-ms-examples": {
+ "UserSession_Delete": {
+ "$ref": "./examples/UserSession_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force flag to login off userSession."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully removed user session."
+ },
+ "204": {
+ "description": "User session does not exist."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions": {
+ "get": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_List",
+ "description": "List userSessions.",
+ "x-ms-examples": {
+ "UserSession_List": {
+ "$ref": "./examples/UserSession_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved user sessions in session host.",
+ "schema": {
+ "$ref": "#/definitions/UserSessionList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect": {
+ "post": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_Disconnect",
+ "description": "Disconnect a userSession.",
+ "x-ms-examples": {
+ "UserSession_Disconnect_Post": {
+ "$ref": "./examples/UserSession_Disconnect_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully disconnected user session."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage": {
+ "post": {
+ "tags": [
+ "UserSession"
+ ],
+ "operationId": "UserSessions_SendMessage",
+ "description": "Send a message to a user.",
+ "x-ms-examples": {
+ "UserSession_SendMessage_Post": {
+ "$ref": "./examples/UserSession_SendMessage_Post.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SessionHostNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSessionIdParameter"
+ },
+ {
+ "name": "sendMessage",
+ "description": "Object containing message includes title and message body",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/SendMessage"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully sent message to user session."
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/scalingPlans": {
+ "get": {
+ "tags": [
+ "ScalingPlan"
+ ],
+ "operationId": "ScalingPlans_ListByHostPool",
+ "description": "List scaling plan associated with hostpool.",
+ "x-ms-examples": {
+ "UserSession_SendMessage_Post": {
+ "$ref": "./examples/ScalingPlan_ListByHostPool.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HostPoolNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scaling plan associated with hostpool.",
+ "schema": {
+ "$ref": "#/definitions/ScalingPlanList"
+ }
+ },
+ "default": {
+ "description": "Automation error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorProperties"
+ }
+ }
+ },
+ "CloudErrorProperties": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "description": "Result of the request to list operations.",
+ "readOnly": true,
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperation"
+ },
+ "description": "List of operations supported by this resource provider."
+ }
+ }
+ },
+ "ResourceProviderOperation": {
+ "description": "Supported operation of this resource provider.",
+ "readOnly": true,
+ "properties": {
+ "name": {
+ "description": "Operation name, in format of {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Resource provider: Microsoft Desktop Virtualization.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of this operation.",
+ "type": "string"
+ }
+ }
+ },
+ "isDataAction": {
+ "description": "Is a data action.",
+ "type": "boolean"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification"
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification payload",
+ "type": "object",
+ "properties": {
+ "logSpecifications": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Specifications of the Log for Azure Monitoring",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the log",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized friendly display name of the log",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blob duration of the log",
+ "type": "string"
+ }
+ }
+ },
+ "Workspace": {
+ "type": "object",
+ "description": "Represents a Workspace definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for Workspace",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkspaceProperties"
+ }
+ }
+ },
+ "WorkspaceProperties": {
+ "description": "Schema for Workspace properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Workspace. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Workspace."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Workspace."
+ },
+ "applicationGroupReferences": {
+ "type": "array",
+ "description": "List of applicationGroup resource Ids.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "WorkspaceList": {
+ "type": "object",
+ "title": "WorkspaceList",
+ "description": "List of Workspace definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Workspace definitions.",
+ "items": {
+ "$ref": "#/definitions/Workspace"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "WorkspacePatch": {
+ "type": "object",
+ "description": "Workspace properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Workspace",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/WorkspacePatchProperties"
+ }
+ }
+ },
+ "WorkspacePatchProperties": {
+ "description": "Workspace properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Workspace."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Workspace."
+ },
+ "applicationGroupReferences": {
+ "type": "array",
+ "description": "List of applicationGroup links.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ApplicationGroup": {
+ "type": "object",
+ "description": "Represents a ApplicationGroup definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for ApplicationGroup",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGroupProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ApplicationGroupProperties": {
+ "description": "Schema for ApplicationGroup properties.",
+ "type": "object",
+ "required": [
+ "hostPoolArmPath",
+ "applicationGroupType"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of ApplicationGroup. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of ApplicationGroup."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of ApplicationGroup."
+ },
+ "hostPoolArmPath": {
+ "type": "string",
+ "description": "HostPool arm path of ApplicationGroup.",
+ "x-nullable": false
+ },
+ "workspaceArmPath": {
+ "type": "string",
+ "description": "Workspace arm path of ApplicationGroup.",
+ "readOnly": true
+ },
+ "applicationGroupType": {
+ "enum": [
+ "RemoteApp",
+ "Desktop"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of ApplicationGroup.",
+ "x-nullable": false
+ },
+ "migrationRequest": {
+ "$ref": "#/definitions/MigrationRequestProperties",
+ "description": "The registration info of HostPool."
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "ApplicationGroupPatch": {
+ "type": "object",
+ "description": "ApplicationGroup properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "ApplicationGroup properties that can be patched.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGroupPatchProperties"
+ }
+ }
+ },
+ "ApplicationGroupPatchProperties": {
+ "description": "ApplicationGroup properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of ApplicationGroup."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of ApplicationGroup."
+ }
+ }
+ },
+ "ApplicationGroupList": {
+ "type": "object",
+ "title": "ApplicationGroupList",
+ "description": "List of ApplicationGroup definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of ApplicationGroup definitions.",
+ "items": {
+ "$ref": "#/definitions/ApplicationGroup"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "HostPool": {
+ "type": "object",
+ "description": "Represents a HostPool definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for HostPool",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HostPoolProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "HostPoolProperties": {
+ "description": "Properties of HostPool.",
+ "type": "object",
+ "required": [
+ "hostPoolType",
+ "loadBalancerType",
+ "preferredAppGroupType"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of HostPool. (internal use)",
+ "readOnly": true
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of HostPool."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of HostPool."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "personalDesktopAssignmentType": {
+ "enum": [
+ "Automatic",
+ "Direct"
+ ],
+ "x-ms-enum": {
+ "name": "PersonalDesktopAssignmentType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "PersonalDesktopAssignment type for HostPool."
+ },
+ "customRdpProperty": {
+ "type": "string",
+ "description": "Custom rdp property of HostPool."
+ },
+ "maxSessionLimit": {
+ "type": "integer",
+ "description": "The max session limit of HostPool."
+ },
+ "loadBalancerType": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst",
+ "Persistent"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of the load balancer.",
+ "x-nullable": false
+ },
+ "ring": {
+ "type": "integer",
+ "description": "The ring number of HostPool."
+ },
+ "validationEnvironment": {
+ "type": "boolean",
+ "description": "Is validation environment."
+ },
+ "registrationInfo": {
+ "$ref": "#/definitions/RegistrationInfo",
+ "description": "The registration info of HostPool."
+ },
+ "vmTemplate": {
+ "type": "string",
+ "description": "VM template for sessionhosts configuration within hostpool."
+ },
+ "applicationGroupReferences": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of applicationGroup links.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ssoadfsAuthority": {
+ "type": "string",
+ "description": "URL to customer ADFS server for signing WVD SSO certificates."
+ },
+ "ssoClientId": {
+ "type": "string",
+ "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates."
+ },
+ "ssoClientSecretKeyVaultPath": {
+ "type": "string",
+ "description": "Path to Azure KeyVault storing the secret used for communication to ADFS."
+ },
+ "ssoSecretType": {
+ "enum": [
+ "SharedKey",
+ "Certificate",
+ "SharedKeyInKeyVault",
+ "CertificateInKeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "SSOSecretType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of single sign on Secret Type."
+ },
+ "preferredAppGroupType": {
+ "enum": [
+ "None",
+ "Desktop",
+ "RailApplications"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredAppGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of preferred application group type, default to Desktop Application Group",
+ "x-nullable": false
+ },
+ "startVMOnConnect": {
+ "type": "boolean",
+ "description": "The flag to turn on/off StartVMOnConnect feature."
+ },
+ "migrationRequest": {
+ "$ref": "#/definitions/MigrationRequestProperties",
+ "description": "The registration info of HostPool."
+ },
+ "cloudPcResource": {
+ "type": "boolean",
+ "description": "Is cloud pc resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "HostPoolPatch": {
+ "type": "object",
+ "description": "HostPool properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "HostPool properties that can be patched.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HostPoolPatchProperties"
+ }
+ }
+ },
+ "HostPoolPatchProperties": {
+ "description": "Properties of HostPool.",
+ "type": "object",
+ "properties": {
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of HostPool."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of HostPool."
+ },
+ "customRdpProperty": {
+ "type": "string",
+ "description": "Custom rdp property of HostPool."
+ },
+ "maxSessionLimit": {
+ "type": "integer",
+ "description": "The max session limit of HostPool."
+ },
+ "personalDesktopAssignmentType": {
+ "enum": [
+ "Automatic",
+ "Direct"
+ ],
+ "x-ms-enum": {
+ "name": "PersonalDesktopAssignmentType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "PersonalDesktopAssignment type for HostPool."
+ },
+ "loadBalancerType": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst",
+ "Persistent"
+ ],
+ "x-ms-enum": {
+ "name": "LoadBalancerType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of the load balancer."
+ },
+ "ring": {
+ "type": "integer",
+ "description": "The ring number of HostPool."
+ },
+ "validationEnvironment": {
+ "type": "boolean",
+ "description": "Is validation environment."
+ },
+ "registrationInfo": {
+ "$ref": "#/definitions/RegistrationInfoPatch",
+ "description": "The registration info of HostPool."
+ },
+ "vmTemplate": {
+ "type": "string",
+ "description": "VM template for sessionhosts configuration within hostpool."
+ },
+ "ssoadfsAuthority": {
+ "type": "string",
+ "description": "URL to customer ADFS server for signing WVD SSO certificates."
+ },
+ "ssoClientId": {
+ "type": "string",
+ "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates."
+ },
+ "ssoClientSecretKeyVaultPath": {
+ "type": "string",
+ "description": "Path to Azure KeyVault storing the secret used for communication to ADFS."
+ },
+ "ssoSecretType": {
+ "enum": [
+ "SharedKey",
+ "Certificate",
+ "SharedKeyInKeyVault",
+ "CertificateInKeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "SSOSecretType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of single sign on Secret Type."
+ },
+ "preferredAppGroupType": {
+ "enum": [
+ "None",
+ "Desktop",
+ "RailApplications"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredAppGroupType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of preferred application group type, default to Desktop Application Group"
+ },
+ "startVMOnConnect": {
+ "type": "boolean",
+ "description": "The flag to turn on/off StartVMOnConnect feature."
+ }
+ }
+ },
+ "RegistrationInfo": {
+ "description": "Represents a RegistrationInfo definition.",
+ "type": "object",
+ "properties": {
+ "expirationTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Expiration time of registration token."
+ },
+ "token": {
+ "type": "string",
+ "description": "The registration token base64 encoded string."
+ },
+ "registrationTokenOperation": {
+ "enum": [
+ "Delete",
+ "None",
+ "Update"
+ ],
+ "x-ms-enum": {
+ "name": "RegistrationTokenOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of resetting the token.",
+ "x-nullable": false
+ }
+ }
+ },
+ "RegistrationInfoPatch": {
+ "description": "Represents a RegistrationInfo definition.",
+ "type": "object",
+ "properties": {
+ "expirationTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Expiration time of registration token."
+ },
+ "registrationTokenOperation": {
+ "enum": [
+ "Delete",
+ "None",
+ "Update"
+ ],
+ "x-ms-enum": {
+ "name": "RegistrationTokenOperation",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "The type of resetting the token."
+ }
+ }
+ },
+ "SendMessage": {
+ "description": "Represents message sent to a UserSession.",
+ "type": "object",
+ "properties": {
+ "messageTitle": {
+ "type": "string",
+ "description": "Title of message."
+ },
+ "messageBody": {
+ "type": "string",
+ "description": "Body of message."
+ }
+ }
+ },
+ "HostPoolList": {
+ "type": "object",
+ "title": "HostPoolList",
+ "description": "List of HostPool definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of HostPool definitions.",
+ "items": {
+ "$ref": "#/definitions/HostPool"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "MSIXPackage": {
+ "description": "Schema for MSIX Package properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for MSIX Package",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MSIXPackageProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackageProperties": {
+ "description": "Schema for MSIX Package properties.",
+ "type": "object",
+ "properties": {
+ "imagePath": {
+ "type": "string",
+ "description": "VHD/CIM image path on Network Share.",
+ "x-nullable": false
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Package Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageFamilyName": {
+ "type": "string",
+ "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ",
+ "x-nullable": false
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly Name to be displayed in the portal. ",
+ "x-nullable": true
+ },
+ "packageRelativePath": {
+ "type": "string",
+ "description": "Relative Path to the package inside the image. ",
+ "x-nullable": false
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Specifies how to register Package in feed.",
+ "x-nullable": false
+ },
+ "isActive": {
+ "type": "boolean",
+ "description": "Make this version of the package the active one across the hostpool. ",
+ "x-nullable": false
+ },
+ "packageDependencies": {
+ "type": "array",
+ "description": "List of package dependencies. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageDependencies"
+ }
+ },
+ "version": {
+ "type": "string",
+ "description": "Package Version found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date Package was last updated, found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageApplications": {
+ "type": "array",
+ "description": "List of package applications. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageApplications"
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackagePatch": {
+ "type": "object",
+ "description": "MSIX Package properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for MSIX Package",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MSIXPackagePatchProperties"
+ }
+ }
+ },
+ "MSIXPackagePatchProperties": {
+ "description": "MSIX Package properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "isActive": {
+ "type": "boolean",
+ "description": "Set a version of the package to be active across hostpool. "
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Set Registration mode. Regular or Delayed."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name for MSIX Package."
+ }
+ }
+ },
+ "MsixPackageApplications": {
+ "description": "Schema for MSIX Package Application properties.",
+ "type": "object",
+ "properties": {
+ "appId": {
+ "type": "string",
+ "description": "Package Application Id, found in appxmanifest.xml.",
+ "x-nullable": false
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Package Application.",
+ "x-nullable": false
+ },
+ "appUserModelID": {
+ "type": "string",
+ "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml.",
+ "x-nullable": false
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name.",
+ "x-nullable": false
+ },
+ "iconImageName": {
+ "type": "string",
+ "description": "User friendly name.",
+ "x-nullable": false
+ },
+ "rawIcon": {
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ },
+ "rawPng": {
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "MsixPackageDependencies": {
+ "description": "Schema for MSIX Package Dependencies properties.",
+ "type": "object",
+ "properties": {
+ "dependencyName": {
+ "type": "string",
+ "description": "Name of package dependency.",
+ "x-nullable": false
+ },
+ "publisher": {
+ "type": "string",
+ "description": "Name of dependency publisher.",
+ "x-nullable": false
+ },
+ "minVersion": {
+ "type": "string",
+ "description": "Dependency version required.",
+ "x-nullable": false
+ }
+ }
+ },
+ "MSIXPackageList": {
+ "type": "object",
+ "title": "MsixPackageList",
+ "description": "List of MSIX Package definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of MSIX Package definitions.",
+ "items": {
+ "$ref": "#/definitions/MSIXPackage"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "Application": {
+ "description": "Schema for Application properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for Application",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationProperties",
+ "x-nullable": false
+ }
+ }
+ },
+ "ApplicationProperties": {
+ "description": "Schema for Application properties.",
+ "type": "object",
+ "required": [
+ "commandLineSetting"
+ ],
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Application. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Application."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Application."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Specifies a path for the executable file for the application."
+ },
+ "msixPackageFamilyName": {
+ "type": "string",
+ "description": "Specifies the package family name for MSIX applications",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "msixPackageApplicationId": {
+ "type": "string",
+ "description": "Specifies the package application Id for MSIX applications",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "applicationType": {
+ "enum": [
+ "InBuilt",
+ "MsixApplication"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of Application.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "commandLineSetting": {
+ "enum": [
+ "DoNotAllow",
+ "Allow",
+ "Require"
+ ],
+ "x-ms-enum": {
+ "name": "CommandLineSetting",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.",
+ "x-nullable": false
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command Line Arguments for Application."
+ },
+ "showInPortal": {
+ "type": "boolean",
+ "description": "Specifies whether to show the RemoteApp program in the RD Web Access server."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "description": "Index of the icon."
+ },
+ "iconHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hash of the icon."
+ },
+ "iconContent": {
+ "readOnly": true,
+ "type": "string",
+ "format": "byte",
+ "description": "the icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "ApplicationList": {
+ "type": "object",
+ "title": "ApplicationList",
+ "description": "List of Application definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Application definitions.",
+ "items": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ApplicationPatch": {
+ "type": "object",
+ "description": "Application properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Application",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationPatchProperties"
+ }
+ }
+ },
+ "ApplicationPatchProperties": {
+ "description": "Application properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Application."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Application."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Specifies a path for the executable file for the application."
+ },
+ "commandLineSetting": {
+ "enum": [
+ "DoNotAllow",
+ "Allow",
+ "Require"
+ ],
+ "x-ms-enum": {
+ "name": "CommandLineSetting",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all."
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command Line Arguments for Application."
+ },
+ "showInPortal": {
+ "type": "boolean",
+ "description": "Specifies whether to show the RemoteApp program in the RD Web Access server."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "description": "Index of the icon."
+ },
+ "msixPackageFamilyName": {
+ "type": "string",
+ "description": "Specifies the package family name for MSIX applications",
+ "x-nullable": true
+ },
+ "msixPackageApplicationId": {
+ "type": "string",
+ "description": "Specifies the package application Id for MSIX applications",
+ "x-nullable": true
+ },
+ "applicationType": {
+ "enum": [
+ "InBuilt",
+ "MsixApplication"
+ ],
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Resource Type of Application."
+ }
+ }
+ },
+ "Desktop": {
+ "description": "Schema for Desktop properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for Desktop",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DesktopProperties"
+ }
+ }
+ },
+ "DesktopProperties": {
+ "description": "Schema for Desktop properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of Desktop. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of Desktop."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Desktop."
+ },
+ "iconHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hash of the icon."
+ },
+ "iconContent": {
+ "readOnly": true,
+ "type": "string",
+ "format": "byte",
+ "description": "The icon a 64 bit string as a byte array."
+ }
+ }
+ },
+ "DesktopList": {
+ "type": "object",
+ "title": "DesktopList",
+ "description": "List of Desktop definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Desktop definitions.",
+ "items": {
+ "$ref": "#/definitions/Desktop"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "DesktopPatch": {
+ "type": "object",
+ "description": "Desktop properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for Desktop",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DesktopPatchProperties"
+ }
+ }
+ },
+ "DesktopPatchProperties": {
+ "description": "Desktop properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of Desktop."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly name of Desktop."
+ }
+ }
+ },
+ "StartMenuItemProperties": {
+ "description": "Schema for StartMenuItem properties.",
+ "type": "object",
+ "properties": {
+ "appAlias": {
+ "type": "string",
+ "description": "Alias of StartMenuItem."
+ },
+ "filePath": {
+ "type": "string",
+ "description": "Path to the file of StartMenuItem."
+ },
+ "commandLineArguments": {
+ "type": "string",
+ "description": "Command line arguments for StartMenuItem."
+ },
+ "iconPath": {
+ "type": "string",
+ "description": "Path to the icon."
+ },
+ "iconIndex": {
+ "type": "integer",
+ "description": "Index of the icon."
+ }
+ }
+ },
+ "StartMenuItem": {
+ "type": "object",
+ "description": "Represents a StartMenuItem definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for StartMenuItem",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/StartMenuItemProperties"
+ }
+ }
+ },
+ "StartMenuItemList": {
+ "type": "object",
+ "title": "StartMenuItemList",
+ "description": "List of StartMenuItem definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of StartMenuItem definitions.",
+ "items": {
+ "$ref": "#/definitions/StartMenuItem"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ExpandMsixImageProperties": {
+ "description": "Schema for Expand MSIX Image properties.",
+ "type": "object",
+ "properties": {
+ "packageAlias": {
+ "type": "string",
+ "description": "Alias of MSIX Package."
+ },
+ "imagePath": {
+ "type": "string",
+ "description": "VHD/CIM image path on Network Share.",
+ "x-nullable": false
+ },
+ "packageName": {
+ "type": "string",
+ "description": "Package Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageFamilyName": {
+ "type": "string",
+ "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ",
+ "x-nullable": false
+ },
+ "packageFullName": {
+ "type": "string",
+ "description": "Package Full Name from appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "displayName": {
+ "type": "string",
+ "description": "User friendly Name to be displayed in the portal. ",
+ "x-nullable": true
+ },
+ "packageRelativePath": {
+ "type": "string",
+ "description": "Relative Path to the package inside the image. ",
+ "x-nullable": false
+ },
+ "isRegularRegistration": {
+ "type": "boolean",
+ "description": "Specifies how to register Package in feed.",
+ "x-nullable": false
+ },
+ "isActive": {
+ "type": "boolean",
+ "description": "Make this version of the package the active one across the hostpool. ",
+ "x-nullable": false
+ },
+ "packageDependencies": {
+ "type": "array",
+ "description": "List of package dependencies. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageDependencies"
+ },
+ "x-nullable": true
+ },
+ "version": {
+ "type": "string",
+ "description": "Package Version found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Date Package was last updated, found in the appxmanifest.xml. ",
+ "x-nullable": false
+ },
+ "packageApplications": {
+ "type": "array",
+ "description": "List of package applications. ",
+ "items": {
+ "$ref": "#/definitions/MsixPackageApplications"
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "ExpandMsixImage": {
+ "type": "object",
+ "description": "Represents the definition of contents retrieved after expanding the MSIX Image. ",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for ExpandMsixImage",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpandMsixImageProperties"
+ }
+ }
+ },
+ "ExpandMsixImageList": {
+ "type": "object",
+ "title": "ExpandMsixImageList",
+ "description": "List of MSIX package properties retrieved from MSIX Image expansion.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of MSIX package properties from give MSIX Image.",
+ "items": {
+ "$ref": "#/definitions/ExpandMsixImage"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "MSIXImageURI": {
+ "description": "Represents URI referring to MSIX Image",
+ "type": "object",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "URI to Image"
+ }
+ }
+ },
+ "SessionHost": {
+ "type": "object",
+ "description": "Represents a SessionHost definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for SessionHost",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SessionHostProperties"
+ }
+ }
+ },
+ "SessionHostProperties": {
+ "description": "Schema for SessionHost properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of SessionHost. (internal use)",
+ "readOnly": true
+ },
+ "lastHeartBeat": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Last heart beat from SessionHost."
+ },
+ "sessions": {
+ "type": "integer",
+ "description": "Number of sessions on SessionHost."
+ },
+ "agentVersion": {
+ "type": "string",
+ "description": "Version of agent on SessionHost."
+ },
+ "allowNewSession": {
+ "type": "boolean",
+ "description": "Allow a new session."
+ },
+ "virtualMachineId": {
+ "type": "string",
+ "description": "Virtual Machine Id of SessionHost's underlying virtual machine.",
+ "readOnly": true
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource Id of SessionHost's underlying virtual machine.",
+ "readOnly": true
+ },
+ "assignedUser": {
+ "type": "string",
+ "description": "User assigned to SessionHost."
+ },
+ "status": {
+ "enum": [
+ "Available",
+ "Unavailable",
+ "Shutdown",
+ "Disconnected",
+ "Upgrading",
+ "UpgradeFailed",
+ "NoHeartbeat",
+ "NotJoinedToDomain",
+ "DomainTrustRelationshipLost",
+ "SxSStackListenerNotReady",
+ "FSLogixNotHealthy",
+ "NeedsAssistance"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Available",
+ "description": "Session Host has passed all the health checks and is available to handle connections."
+ },
+ {
+ "value": "Unavailable",
+ "description": "Session Host is either turned off or has failed critical health checks which is causing service not to be able to route connections to this session host. Note this replaces previous 'NoHeartBeat' status."
+ },
+ {
+ "value": "Shutdown",
+ "description": "Session Host is shutdown - RD Agent reported session host to be stopped or deallocated."
+ },
+ {
+ "value": "Disconnected",
+ "description": "The Session Host is unavailable because it is currently disconnected."
+ },
+ {
+ "value": "Upgrading",
+ "description": "Session Host is unavailable because currently an upgrade of RDAgent/side-by-side stack is in progress. Note: this state will be removed once the upgrade completes and the host is able to accept connections."
+ },
+ {
+ "value": "UpgradeFailed",
+ "description": "Session Host is unavailable because the critical component upgrade (agent, side-by-side stack, etc.) failed."
+ },
+ {
+ "value": "NoHeartbeat",
+ "description": "The Session Host is not heart beating."
+ },
+ {
+ "value": "NotJoinedToDomain",
+ "description": "SessionHost is not joined to domain."
+ },
+ {
+ "value": "DomainTrustRelationshipLost",
+ "description": "SessionHost's domain trust relationship lost"
+ },
+ {
+ "value": "SxSStackListenerNotReady",
+ "description": "SxS stack installed on the SessionHost is not ready to receive connections."
+ },
+ {
+ "value": "FSLogixNotHealthy",
+ "description": "FSLogix is in an unhealthy state on the session host."
+ },
+ {
+ "value": "NeedsAssistance",
+ "description": "New status to inform admins that the health on their endpoint needs to be fixed. The connections might not fail, as these issues are not fatal."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Status for a SessionHost."
+ },
+ "statusTimestamp": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the status.",
+ "readOnly": true
+ },
+ "osVersion": {
+ "type": "string",
+ "description": "The version of the OS on the session host."
+ },
+ "sxSStackVersion": {
+ "type": "string",
+ "description": "The version of the side by side stack on the session host."
+ },
+ "updateState": {
+ "enum": [
+ "Initial",
+ "Pending",
+ "Started",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "UpdateState",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Update state of a SessionHost."
+ },
+ "lastUpdateTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the last update.",
+ "readOnly": true
+ },
+ "updateErrorMessage": {
+ "type": "string",
+ "description": "The error message."
+ },
+ "sessionHostHealthCheckResults": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of SessionHostHealthCheckReports",
+ "items": {
+ "$ref": "#/definitions/SessionHostHealthCheckReport"
+ }
+ }
+ }
+ },
+ "SessionHostHealthCheckReport": {
+ "type": "object",
+ "description": "The report for session host information.",
+ "properties": {
+ "healthCheckName": {
+ "enum": [
+ "DomainJoinedCheck",
+ "DomainTrustCheck",
+ "FSLogixHealthCheck",
+ "SxSStackListenerCheck",
+ "UrlsAccessibleCheck",
+ "MonitoringAgentCheck",
+ "DomainReachable",
+ "WebRTCRedirectorCheck",
+ "SupportedEncryptionCheck",
+ "MetaDataServiceCheck",
+ "AppAttachHealthCheck"
+ ],
+ "x-ms-enum": {
+ "name": "HealthCheckName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "DomainJoinedCheck",
+ "description": "Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain."
+ },
+ {
+ "value": "DomainTrustCheck",
+ "description": "Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost."
+ },
+ {
+ "value": "FSLogixHealthCheck",
+ "description": "Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session."
+ },
+ {
+ "value": "SxSStackListenerCheck",
+ "description": "Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready."
+ },
+ {
+ "value": "UrlsAccessibleCheck",
+ "description": "Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...)."
+ },
+ {
+ "value": "MonitoringAgentCheck",
+ "description": "Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version."
+ },
+ {
+ "value": "DomainReachable",
+ "description": "Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection."
+ },
+ {
+ "value": "WebRTCRedirectorCheck",
+ "description": "Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated."
+ },
+ {
+ "value": "SupportedEncryptionCheck",
+ "description": "Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal."
+ },
+ {
+ "value": "MetaDataServiceCheck",
+ "description": "Verifies the metadata service is accessible and return compute properties."
+ },
+ {
+ "value": "AppAttachHealthCheck",
+ "description": "Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging/registration (and eventual deregistration/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Represents the name of the health check operation performed.",
+ "readOnly": true
+ },
+ "healthCheckResult": {
+ "enum": [
+ "Unknown",
+ "HealthCheckSucceeded",
+ "HealthCheckFailed",
+ "SessionHostShutdown"
+ ],
+ "x-ms-enum": {
+ "name": "HealthCheckResult",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unknown",
+ "description": "Health check result is not currently known."
+ },
+ {
+ "value": "HealthCheckSucceeded",
+ "description": "Health check passed."
+ },
+ {
+ "value": "HealthCheckFailed",
+ "description": "Health check failed."
+ },
+ {
+ "value": "SessionHostShutdown",
+ "description": "We received a Shutdown notification."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "Represents the Health state of the health check we performed.",
+ "readOnly": true
+ },
+ "additionalFailureDetails": {
+ "$ref": "#/definitions/SessionHostHealthCheckFailureDetails",
+ "description": "Additional detailed information on the failure.",
+ "readOnly": true
+ }
+ }
+ },
+ "SessionHostHealthCheckFailureDetails": {
+ "type": "object",
+ "description": "Contains details on the failure.",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Failure message: hints on what is wrong and how to recover.",
+ "readOnly": true
+ },
+ "errorCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Error code corresponding for the failure.",
+ "readOnly": true
+ },
+ "lastHealthCheckDateTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the last update.",
+ "readOnly": true
+ }
+ }
+ },
+ "SessionHostPatch": {
+ "type": "object",
+ "description": "SessionHost properties that can be patched.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for SessionHost",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SessionHostPatchProperties"
+ }
+ }
+ },
+ "SessionHostPatchProperties": {
+ "description": "SessionHost properties that can be patched.",
+ "type": "object",
+ "properties": {
+ "allowNewSession": {
+ "type": "boolean",
+ "description": "Allow a new session."
+ },
+ "assignedUser": {
+ "type": "string",
+ "description": "User assigned to SessionHost."
+ }
+ }
+ },
+ "SessionHostList": {
+ "type": "object",
+ "title": "SessionHostList",
+ "description": "List of SessionHost definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of SessionHost definitions.",
+ "items": {
+ "$ref": "#/definitions/SessionHost"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "UserSession": {
+ "type": "object",
+ "description": "Represents a UserSession definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for UserSession",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserSessionProperties"
+ }
+ }
+ },
+ "UserSessionProperties": {
+ "description": "Schema for UserSession properties.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of user session. (internal use)",
+ "readOnly": true
+ },
+ "userPrincipalName": {
+ "type": "string",
+ "description": "The user principal name."
+ },
+ "applicationType": {
+ "enum": [
+ "RemoteApp",
+ "Desktop"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationType",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Application type of application."
+ },
+ "sessionState": {
+ "enum": [
+ "Unknown",
+ "Active",
+ "Disconnected",
+ "Pending",
+ "LogOff",
+ "UserProfileDiskMounted"
+ ],
+ "x-ms-enum": {
+ "name": "SessionState",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "State of user session."
+ },
+ "activeDirectoryUserName": {
+ "type": "string",
+ "description": "The active directory user name."
+ },
+ "createTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "The timestamp of the user session create."
+ }
+ }
+ },
+ "UserSessionList": {
+ "type": "object",
+ "title": "UserSessionList",
+ "description": "List of UserSession definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of UserSession definitions.",
+ "items": {
+ "$ref": "#/definitions/UserSession"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlan": {
+ "type": "object",
+ "title": "ScalingPlan",
+ "description": "Represents a scaling plan definition.",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for scaling plan.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanProperties"
+ }
+ }
+ },
+ "ScalingPlanProperties": {
+ "type": "object",
+ "description": "Scaling plan properties.",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "ObjectId of scaling plan. (internal use)",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of scaling plan."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name of scaling plan."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Timezone of the scaling plan."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "exclusionTag": {
+ "type": "string",
+ "description": "Exclusion tag for scaling plan."
+ },
+ "schedules": {
+ "type": "array",
+ "description": "List of ScalingSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingSchedule"
+ }
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of ScalingHostPoolReference definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingHostPoolReference"
+ }
+ }
+ }
+ },
+ "ScalingSchedule": {
+ "description": "Scaling plan schedule.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the scaling schedule."
+ },
+ "daysOfWeek": {
+ "type": "array",
+ "description": "Set of days of the week on which this schedule is active.",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string"
+ }
+ },
+ "rampUpStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for ramp up period."
+ },
+ "rampUpLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp up period."
+ },
+ "rampUpMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp up period."
+ },
+ "rampUpCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp up period."
+ },
+ "peakStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for peak period."
+ },
+ "peakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for peak period."
+ },
+ "rampDownStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for ramp down period."
+ },
+ "rampDownLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for ramp down period."
+ },
+ "rampDownMinimumHostsPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Minimum host percentage for ramp down period."
+ },
+ "rampDownCapacityThresholdPct": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Capacity threshold for ramp down period."
+ },
+ "rampDownForceLogoffUsers": {
+ "type": "boolean",
+ "description": "Should users be logged off forcefully from hosts."
+ },
+ "rampDownStopHostsWhen": {
+ "enum": [
+ "ZeroSessions",
+ "ZeroActiveSessions"
+ ],
+ "x-ms-enum": {
+ "name": "StopHostsWhen",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Specifies when to stop hosts during ramp down period."
+ },
+ "rampDownWaitTimeMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of minutes to wait to stop hosts during ramp down period."
+ },
+ "rampDownNotificationMessage": {
+ "type": "string",
+ "description": "Notification message for users during ramp down period."
+ },
+ "offPeakStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Starting time for off-peak period."
+ },
+ "offPeakLoadBalancingAlgorithm": {
+ "enum": [
+ "BreadthFirst",
+ "DepthFirst"
+ ],
+ "x-ms-enum": {
+ "name": "SessionHostLoadBalancingAlgorithm",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Load balancing algorithm for off-peak period."
+ }
+ }
+ },
+ "ScalingHostPoolReference": {
+ "description": "Scaling plan reference to hostpool.",
+ "type": "object",
+ "properties": {
+ "hostPoolArmPath": {
+ "type": "string",
+ "description": "Arm path of referenced hostpool."
+ },
+ "scalingPlanEnabled": {
+ "type": "boolean",
+ "description": "Is the scaling plan enabled for this hostpool."
+ }
+ }
+ },
+ "ScalingPlanList": {
+ "type": "object",
+ "title": "ScalingPlanList",
+ "description": "List of scaling plan definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of scaling plan definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingPlan"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ScalingPlanPatch": {
+ "type": "object",
+ "description": "Scaling plan properties that can be patched.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "tags to be updated"
+ },
+ "properties": {
+ "description": "Detailed properties for scaling plan",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ScalingPlanPatchProperties"
+ }
+ }
+ },
+ "ScalingPlanPatchProperties": {
+ "type": "object",
+ "description": "Scaling plan properties.",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of scaling plan."
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "User friendly name of scaling plan."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Timezone of the scaling plan."
+ },
+ "hostPoolType": {
+ "enum": [
+ "Personal",
+ "Pooled",
+ "BYODesktop"
+ ],
+ "x-ms-enum": {
+ "name": "HostPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Personal",
+ "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost."
+ },
+ {
+ "value": "Pooled",
+ "description": "Users get a new (random) SessionHost every time it connects to the HostPool."
+ },
+ {
+ "value": "BYODesktop",
+ "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "HostPool type for desktop.",
+ "x-nullable": false
+ },
+ "exclusionTag": {
+ "type": "string",
+ "description": "Exclusion tag for scaling plan."
+ },
+ "schedules": {
+ "type": "array",
+ "description": "List of ScalingSchedule definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingSchedule"
+ }
+ },
+ "hostPoolReferences": {
+ "type": "array",
+ "description": "List of ScalingHostPoolReference definitions.",
+ "items": {
+ "$ref": "#/definitions/ScalingHostPoolReference"
+ }
+ }
+ }
+ },
+ "MigrationRequestProperties": {
+ "type": "object",
+ "description": "Properties for arm migration.",
+ "properties": {
+ "operation": {
+ "enum": [
+ "Start",
+ "Revoke",
+ "Complete",
+ "Hide",
+ "Unhide"
+ ],
+ "x-ms-enum": {
+ "name": "Operation",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Start",
+ "description": "Start the migration."
+ },
+ {
+ "value": "Revoke",
+ "description": "Revoke the migration."
+ },
+ {
+ "value": "Complete",
+ "description": "Complete the migration."
+ },
+ {
+ "value": "Hide",
+ "description": "Hide the hostpool."
+ },
+ {
+ "value": "Unhide",
+ "description": "Unhide the hostpool."
+ }
+ ]
+ },
+ "type": "string",
+ "description": "The type of operation for migration."
+ },
+ "migrationPath": {
+ "type": "string",
+ "description": "The path to the legacy object to migrate."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "HostPoolNameParameter": {
+ "name": "hostPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the host pool within the specified resource group",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "MSIXPackageFullNameParameter": {
+ "name": "msixPackageFullName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The version specific package full name of the MSIX package within specified hostpool",
+ "maxLength": 100,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationGroupNameParameter": {
+ "name": "applicationGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application group",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationNameParameter": {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the application within the specified application group",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "DesktopNameParameter": {
+ "name": "desktopName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the desktop within the specified desktop group",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "WorkspaceNameParameter": {
+ "name": "workspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the workspace",
+ "maxLength": 64,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "SessionHostNameParameter": {
+ "name": "sessionHostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the session host within the specified host pool",
+ "maxLength": 48,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "UserSessionIdParameter": {
+ "name": "userSessionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user session within the specified session host",
+ "maxLength": 24,
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "StartMenuItemNameParameter": {
+ "name": "startMenuItemName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the start menu item within the specified host pool",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "MSIXImageURIParameter": {
+ "name": "msixImageURI",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "URI to the MSIX Image (VHD/CIM).",
+ "maxLength": 100,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ },
+ "ScalingPlanNameParameter": {
+ "name": "scalingPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the scaling plan.",
+ "maxLength": 24,
+ "minLength": 3,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Create.json
new file mode 100644
index 000000000000..f64f0ebe0486
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Create.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-03-09-preview",
+ "applicationGroup": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "applicationGroupType": "RemoteApp",
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Delete.json
new file mode 100644
index 000000000000..b892db7b47e8
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Delete.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Get.json
new file mode 100644
index 000000000000..a5c80c3c3d92
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_ListByResourceGroup.json
new file mode 100644
index 000000000000..7edf762346db
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_ListByResourceGroup.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-03-09-preview",
+ "$filter": "applicationGroupType eq 'RailApplication'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "applicationGroup2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_ListBySubscription.json
new file mode 100644
index 000000000000..ffbf4ac44305
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_ListBySubscription.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-03-09-preview",
+ "$filter": "applicationGroupType eq 'RailApplication'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "applicationGroup2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Update.json
new file mode 100644
index 000000000000..cbbeccdf3f93
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ApplicationGroup_Update.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-03-09-preview",
+ "applicationGroup": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "applicationGroupType": "RemoteApp",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Create.json
new file mode 100644
index 000000000000..074d1976b559
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Create.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-03-09-preview",
+ "application": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Delete.json
new file mode 100644
index 000000000000..db3b65547ac6
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Delete.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Get.json
new file mode 100644
index 000000000000..a708fba6438b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_List.json
new file mode 100644
index 000000000000..06e7b263dcfc
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_List.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ },
+ {
+ "name": "applicationGroup1/application2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des2",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Update.json
new file mode 100644
index 000000000000..eb5eb28743cd
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Application_Update.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "applicationName": "application1",
+ "api-version": "2021-03-09-preview",
+ "application": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "filePath": "path",
+ "commandLineSetting": "Allow",
+ "commandLineArguments": "arguments",
+ "showInPortal": true,
+ "iconPath": "icon",
+ "iconIndex": 1,
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...",
+ "applicationType": "InBuilt",
+ "msixPackageFamilyName": null,
+ "msixPackageApplicationId": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Desktop_Get.json
new file mode 100644
index 000000000000..b2cb9d6f94ef
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Desktop_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "desktopName": "SessionDesktop",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Desktop_List.json
new file mode 100644
index 000000000000..f097eebf028d
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Desktop_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Desktop_Update.json
new file mode 100644
index 000000000000..c5b7b2f2e049
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Desktop_Update.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "desktopName": "SessionDesktop",
+ "api-version": "2021-03-09-preview",
+ "desktop": {
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "applicationGroup1/SessionDesktop",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
+ "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Create.json
new file mode 100644
index 000000000000..11eb32cc37b5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Create.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-03-09-preview",
+ "hostPool": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false,
+ "migrationRequest": {
+ "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}",
+ "operation": "Start"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Delete.json
new file mode 100644
index 000000000000..a93f1dcfab2b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Delete.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-03-09-preview",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Get.json
new file mode 100644
index 000000000000..b72c472b7e6b
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Get.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ }
+ },
+ "default": {
+ "body": {
+ "error": {
+ "code": "hostPoolDoesNotExist",
+ "message": "Host Pool Does Not Exist"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_List.json
new file mode 100644
index 000000000000..401fb8f0cc74
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_List.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "hostPool2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_ListByResourceGroup.json
new file mode 100644
index 000000000000..c61ada889e82
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_ListByResourceGroup.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "hostPool2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Update.json
new file mode 100644
index 000000000000..497aa486e325
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPool_Update.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-03-09-preview",
+ "hostPool": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "friendlyName": "friendly",
+ "description": "des1",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "personalDesktopAssignmentType": "Automatic",
+ "registrationInfo": {
+ "expirationTime": "2020-10-01T15:01:54.9571247Z",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "startVMOnConnect": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostPool1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "type": "/Microsoft.DesktopVirtualization/hostPools",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "friendlyName": "friendly",
+ "description": "des1",
+ "hostPoolType": "Pooled",
+ "personalDesktopAssignmentType": "Automatic",
+ "customRdpProperty": null,
+ "maxSessionLimit": 999999,
+ "loadBalancerType": "BreadthFirst",
+ "validationEnvironment": null,
+ "ring": null,
+ "registrationInfo": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ },
+ "vmTemplate": "{json:json}",
+ "ssoadfsAuthority": "https://adfs",
+ "ssoClientId": "client",
+ "ssoClientSecretKeyVaultPath": "https://keyvault/secret",
+ "ssoSecretType": "SharedKey",
+ "preferredAppGroupType": "Desktop",
+ "startVMOnConnect": false,
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPools_RetrieveRegistrationToken_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPools_RetrieveRegistrationToken_Post.json
new file mode 100644
index 000000000000..26b248e435d2
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/HostPools_RetrieveRegistrationToken_Post.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "expirationTime": "2008-09-22T14:01:54.9571247Z",
+ "token": "token",
+ "registrationTokenOperation": "Update"
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixImage_Expand_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixImage_Expand_Post.json
new file mode 100644
index 000000000000..fda6d644b482
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixImage_Expand_Post.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-03-09-preview",
+ "msixImageURI": {
+ "uri": "imagepath"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool1/expandmsiximage",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage",
+ "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage",
+ "properties": {
+ "packageAlias": "msixpackagealias",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageFullName": "MsixPackage_FullName",
+ "displayName": "displayname",
+ "packageRelativePath": "packagerelativepath",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId",
+ "description": "PackageApplicationDescription",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "FriendlyName",
+ "iconImageName": "Iconimagename",
+ "rawIcon": "RawIcon",
+ "rawPng": "RawPng"
+ }
+ ]
+ }
+ },
+ {
+ "name": "hostpool1/expandmsiximage",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage",
+ "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage",
+ "properties": {
+ "packageAlias": "msixpackagealias2",
+ "imagePath": "imagepath",
+ "packageName": "MsixPackageName2",
+ "packageFamilyName": "MsixPackage_FamilyName2",
+ "packageFullName": "MsixPackage_FullName2",
+ "displayName": "displayname2",
+ "packageRelativePath": "packagerelativepath2",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackageDependency1",
+ "publisher": "PublisherName1",
+ "minVersion": "ver1"
+ },
+ {
+ "dependencyName": "MsixPackageDependency2",
+ "publisher": "PublisherName2",
+ "minVersion": "ver2"
+ }
+ ],
+ "version": "packageversion",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "AppId1",
+ "description": "PackageApplicationDescription1",
+ "appUserModelID": "AppUserModelId1",
+ "friendlyName": "FriendlyName1",
+ "iconImageName": "Iconimagename1",
+ "rawIcon": "RawIcon1",
+ "rawPng": "RawPng1"
+ },
+ {
+ "appId": "AppId2",
+ "description": "PackageApplicationDescription2",
+ "appUserModelID": "AppUserModelId2",
+ "friendlyName": "FriendlyName2",
+ "iconImageName": "Iconimagename2",
+ "rawIcon": "RawIcon2",
+ "rawPng": "RawPng2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Create.json
new file mode 100644
index 000000000000..30ccb6409071
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Create.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-03-09-preview",
+ "msixPackageFullName": "msixpackagefullname",
+ "msixPackage": {
+ "properties": {
+ "displayName": "displayname",
+ "imagePath": "imagepath",
+ "isActive": false,
+ "isRegularRegistration": false,
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "description": "application-desc",
+ "appId": "ApplicationId",
+ "appUserModelID": "AppUserModelId",
+ "friendlyName": "friendlyname",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ],
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixTest_Dependency_Name",
+ "minVersion": "version",
+ "publisher": "PublishedName"
+ }
+ ],
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "packageName": "MsixPackage_name",
+ "packageRelativePath": "packagerelativepath",
+ "version": "version"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": true,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Delete.json
new file mode 100644
index 000000000000..f9d3a0cf00c8
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Delete.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-03-09-preview",
+ "msixPackageFullName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Get.json
new file mode 100644
index 000000000000..85ad2b0bebf1
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-03-09-preview",
+ "msixPackageFullName": "packagefullname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_List.json
new file mode 100644
index 000000000000..c9553e2d7f6d
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_List.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ },
+ {
+ "name": "hostpool1/MsixPackageFullName2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName2",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath2",
+ "packageName": "MsixPackage_Name2",
+ "packageFamilyName": "MsixPackage_FamilyName2",
+ "displayName": "dis2",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot2",
+ "isRegularRegistration": false,
+ "isActive": false,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name2",
+ "publisher": "MsixPackage_Dependency_Publisher2",
+ "minVersion": "packageDep_version2"
+ }
+ ],
+ "version": "version2",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id2",
+ "description": "desc2",
+ "appUserModelID": "Application_ModelID2",
+ "friendlyName": "fri2",
+ "iconImageName": "Apptile2",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Update.json
new file mode 100644
index 000000000000..93871e086d02
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/MsixPackage_Update.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostpool1",
+ "api-version": "2021-03-09-preview",
+ "msixPackageFullName": "msixpackagefullname",
+ "msixPackage": {
+ "properties": {
+ "displayName": "displayname",
+ "isActive": true,
+ "isRegularRegistration": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "hostpool1/MsixPackageFullName",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName",
+ "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages",
+ "properties": {
+ "imagePath": "imagepath",
+ "packageName": "MsixPackage_Name",
+ "packageFamilyName": "MsixPackage_FamilyName",
+ "displayName": "dis",
+ "packageRelativePath": "MsixPackage_RelativePackageRoot",
+ "isRegularRegistration": false,
+ "isActive": true,
+ "packageDependencies": [
+ {
+ "dependencyName": "MsixPackage_Dependency_Name",
+ "publisher": "MsixPackage_Dependency_Publisher",
+ "minVersion": "packageDep_version"
+ }
+ ],
+ "version": "version",
+ "lastUpdated": "2008-09-22T14:01:54.9571247Z",
+ "packageApplications": [
+ {
+ "appId": "Application_Id",
+ "description": "desc",
+ "appUserModelID": "Application_ModelID",
+ "friendlyName": "fri",
+ "iconImageName": "Apptile",
+ "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo",
+ "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/OperationDescription_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/OperationDescription_List.json
new file mode 100644
index 000000000000..57b58ac4220c
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/OperationDescription_List.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DesktopVirtualization/hostpools/read",
+ "display": {
+ "provider": "Microsoft.DesktopVirtualization",
+ "resource": "hostpools",
+ "operation": "Read hostpool",
+ "description": "Read hostpool"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.DesktopVirtualization/hostpools/write",
+ "display": {
+ "provider": "Microsoft.DesktopVirtualization",
+ "resource": "hostpools",
+ "operation": "Write hostpool",
+ "description": "Write hostpool"
+ },
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "",
+ "displayName": ""
+ },
+ {
+ "name": "",
+ "displayName": ""
+ },
+ {
+ "name": "",
+ "displayName": ""
+ }
+ ]
+ }
+ },
+ "isDataAction": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Create.json
new file mode 100644
index 000000000000..9b617368c4ec
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Create.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-03-09-preview",
+ "scalingPlan": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000Z",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000Z",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000Z",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000Z",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Delete.json
new file mode 100644
index 000000000000..ae98168b04cf
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Delete.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Get.json
new file mode 100644
index 000000000000..8cc7b35d7ebb
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Get.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_ListByHostPool.json
new file mode 100644
index 000000000000..1e4524475001
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_ListByHostPool.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_ListByResourceGroup.json
new file mode 100644
index 000000000000..96c31effd4bd
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_ListByResourceGroup.json
@@ -0,0 +1,116 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ {
+ "name": "scalingPlan2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": false,
+ "rampDownStopHostsWhen": "ZeroSessions",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_ListBySubscription.json
new file mode 100644
index 000000000000..d08bfe57eac5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_ListBySubscription.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ },
+ {
+ "name": "scalingPlan2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": false,
+ "rampDownStopHostsWhen": "ZeroActiveSessions",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Update.json
new file mode 100644
index 000000000000..5467608c3b01
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/ScalingPlan_Update.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "scalingPlanName": "scalingPlan1",
+ "api-version": "2021-03-09-preview",
+ "workspace": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000Z",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000Z",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000Z",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000Z",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "scalingPlan1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1",
+ "type": "Microsoft.DesktopVirtualization/scalingPlans",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "timeZone": "",
+ "hostPoolType": "Personal",
+ "exclusionTag": "value",
+ "schedules": [
+ {
+ "name": "schedule1",
+ "daysOfWeek": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "rampUpStartTime": "2020-11-10T06:00:00.000+00:00",
+ "rampUpLoadBalancingAlgorithm": "DepthFirst",
+ "rampUpMinimumHostsPct": 20,
+ "rampUpCapacityThresholdPct": 80,
+ "peakStartTime": "2020-11-10T08:00:00.000+00:00",
+ "peakLoadBalancingAlgorithm": "BreadthFirst",
+ "rampDownStartTime": "2020-11-10T18:00:00.000+00:00",
+ "rampDownLoadBalancingAlgorithm": "DepthFirst",
+ "rampDownMinimumHostsPct": 20,
+ "rampDownCapacityThresholdPct": 50,
+ "rampDownForceLogoffUsers": true,
+ "rampDownWaitTimeMinutes": 30,
+ "rampDownNotificationMessage": "message",
+ "offPeakStartTime": "2020-11-10T20:00:00.000+00:00",
+ "offPeakLoadBalancingAlgorithm": "DepthFirst"
+ }
+ ],
+ "hostPoolReferences": [
+ {
+ "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
+ "scalingPlanEnabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_Delete.json
new file mode 100644
index 000000000000..a11b32e616e7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_Delete.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-03-09-preview",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_Get.json
new file mode 100644
index 000000000000..8293b956a1ce
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_Get.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_List.json
new file mode 100644
index 000000000000..7cbf44062705
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_List.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "name": "sessionHost2.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2008-09-22T14:01:54.9571247Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user2@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2008-09-22T14:01:54.9571247Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_Update.json
new file mode 100644
index 000000000000..fe5e2f63c782
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/SessionHost_Update.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-03-09-preview",
+ "sessionHost": {
+ "properties": {
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sessionHost1.microsoft.com",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "lastHeartBeat": "2019-01-11T19:27:13.6108027Z",
+ "sessions": 1,
+ "agentVersion": "1.0.0.1391",
+ "allowNewSession": true,
+ "assignedUser": "user1@microsoft.com",
+ "status": "Available",
+ "statusTimestamp": "2019-01-24T20:00:08.2893033Z",
+ "osVersion": "10.0.17763",
+ "sxSStackVersion": "rdp-sxs190816002",
+ "updateState": "Succeeded",
+ "lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1",
+ "sessionHostHealthCheckResults": [
+ {
+ "healthCheckName": "DomainJoinedCheck",
+ "healthCheckResult": "HealthCheckSucceeded",
+ "additionalFailureDetails": {
+ "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥",
+ "errorCode": 0,
+ "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/StartMenuItem_List.json
new file mode 100644
index 000000000000..da15e983f0f0
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/StartMenuItem_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "applicationGroupName": "applicationGroup1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "application1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems",
+ "properties": {
+ "appAlias": "word",
+ "filePath": "/path/to/file",
+ "commandLineArguments": "arguments",
+ "iconPath": "/path/to/icon",
+ "iconIndex": 1
+ }
+ },
+ {
+ "name": "application2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2",
+ "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems",
+ "properties": {
+ "appAlias": "excel",
+ "filePath": "/path/to/file",
+ "commandLineArguments": "arguments",
+ "iconPath": "/path/to/icon",
+ "iconIndex": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_Delete.json
new file mode 100644
index 000000000000..279c891f2df0
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_Delete.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-03-09-preview",
+ "force": true
+ },
+ "responses": {
+ "200": {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_Disconnect_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_Disconnect_Post.json
new file mode 100644
index 000000000000..07ee539decbf
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_Disconnect_Post.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_Get.json
new file mode 100644
index 000000000000..197fd7ec0a71
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_List.json
new file mode 100644
index 000000000000..142ea073f953
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_List.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ {
+ "name": "2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_ListByHostPool.json
new file mode 100644
index 000000000000..cdd84ba5e2af
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_ListByHostPool.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "api-version": "2021-03-09-preview",
+ "$filter": "userPrincipalName eq 'user1@microsoft.com' and state eq 'active'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ },
+ {
+ "name": "2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2",
+ "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions",
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "userPrincipalName": "user1@microsoft.com",
+ "applicationType": "Desktop",
+ "sessionState": "Active",
+ "activeDirectoryUserName": "WVDARM\\user1",
+ "createTime": "2008-09-22T14:01:54.9571247Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_SendMessage_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_SendMessage_Post.json
new file mode 100644
index 000000000000..e46843b956a9
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/UserSession_SendMessage_Post.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "hostPoolName": "hostPool1",
+ "sessionHostName": "sessionHost1.microsoft.com",
+ "userSessionId": "1",
+ "api-version": "2021-03-09-preview",
+ "sendMessage": {
+ "messageTitle": "title",
+ "messageBody": "body"
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Create.json
new file mode 100644
index 000000000000..ee633e5cdbd7
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Create.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-03-09-preview",
+ "workspace": {
+ "location": "centralus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Delete.json
new file mode 100644
index 000000000000..0fc66d931b9e
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Delete.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Get.json
new file mode 100644
index 000000000000..77c48b151da5
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_ListByResourceGroup.json
new file mode 100644
index 000000000000..4471f4149af8
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_ListByResourceGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "workspace2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_ListBySubscription.json
new file mode 100644
index 000000000000..210d9cf2df99
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_ListBySubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "api-version": "2021-03-09-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ },
+ {
+ "name": "workspace2",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Update.json
new file mode 100644
index 000000000000..102139cd60c1
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/examples/Workspace_Update.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
+ "resourceGroupName": "resourceGroup1",
+ "workspaceName": "workspace1",
+ "api-version": "2021-03-09-preview",
+ "workspace": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "description": "des1",
+ "friendlyName": "friendly"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "workspace1",
+ "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1",
+ "type": "Microsoft.DesktopVirtualization/workspaces",
+ "location": "centralus",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325",
+ "description": "des1",
+ "friendlyName": "friendly",
+ "cloudPcResource": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md b/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md
index 7dd2e04d91db..75c0c98ed7b4 100644
--- a/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md
+++ b/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-desktopvirtualization-2021-03-09-preview
- tag: schema-desktopvirtualization-2021-02-01-preview
- tag: schema-desktopvirtualization-2021-01-14-preview
- tag: schema-desktopvirtualization-2020-11-10-preview
@@ -20,6 +21,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-desktopvirtualization-2021-03-09-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-desktopvirtualization-2021-03-09-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DesktopVirtualization/preview/2021-03-09-preview/desktopvirtualization.json
+
+```
+
### Tag: schema-desktopvirtualization-2021-02-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-desktopvirtualization-2021-02-01-preview' && $(azureresourceschema)
diff --git a/specification/desktopvirtualization/resource-manager/readme.go.md b/specification/desktopvirtualization/resource-manager/readme.go.md
index ddf60285d66f..173e3eb8768b 100644
--- a/specification/desktopvirtualization/resource-manager/readme.go.md
+++ b/specification/desktopvirtualization/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: desktopvirtualization
clear-output-folder: true
```
@@ -21,6 +21,16 @@ batch:
- tag: package-2020-11-10-preview
- tag: package-2021-01-14-preview
- tag: package-2021-02-01-preview
+ - tag: package-2021-03-09-preview
+```
+
+### Tag: package-2021-03-09-preview and go
+
+These settings apply only when `--tag=package-2021-03-09-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-03-09-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-03-09-preview/$(namespace)
```
### Tag: package-2021-02-01-preview and go
diff --git a/specification/desktopvirtualization/resource-manager/readme.java.md b/specification/desktopvirtualization/resource-manager/readme.java.md
index cfadd5526098..84feb0a5dede 100644
--- a/specification/desktopvirtualization/resource-manager/readme.java.md
+++ b/specification/desktopvirtualization/resource-manager/readme.java.md
@@ -21,6 +21,20 @@ batch:
- tag: package-2020-11-10-preview
- tag: package-2021-01-14-preview
- tag: package-2021-02-01-preview
+ - tag: package-2021-03-09-preview
+```
+
+### Tag: package-2021-03-09-preview and java
+
+These settings apply only when `--tag=package-2021-03-09-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-03-09-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.desktopvirtualization.v2021_03-09-preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/desktopvirtualization/mgmt-v2021_03-09-preview
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2021-02-01-preview and java
diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md
index ca3f46e506be..3c5e546bdf01 100644
--- a/specification/desktopvirtualization/resource-manager/readme.md
+++ b/specification/desktopvirtualization/resource-manager/readme.md
@@ -24,7 +24,7 @@ These are the global settings for the DesktopVirtualizationClient API.
``` yaml
openapi-type: arm
-tag: package-2021-02-01-preview
+tag: package-2021-03-09-preview
```
### Tag: package-2019-01-23-preview
@@ -102,6 +102,13 @@ input-file:
- Microsoft.DesktopVirtualization/preview/2021-02-01-preview/desktopvirtualization.json
```
+### Tag: package-2021-03-09-preview
+
+``` yaml $(tag) == 'package-2021-03-09-preview'
+input-file:
+- Microsoft.DesktopVirtualization/preview/2021-03-09-preview/desktopvirtualization.json
+```
+
---
# Code Generation
@@ -178,6 +185,7 @@ input-file:
- $(this-folder)/Microsoft.DesktopVirtualization/preview/2020-11-10-preview/desktopvirtualization.json
- $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-01-14-preview/desktopvirtualization.json
- $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-02-01-preview/desktopvirtualization.json
+ - $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/desktopvirtualization.json
```
diff --git a/specification/desktopvirtualization/resource-manager/readme.ruby.md b/specification/desktopvirtualization/resource-manager/readme.ruby.md
index a440cbcfbd6a..e2e8ae0a383a 100644
--- a/specification/desktopvirtualization/resource-manager/readme.ruby.md
+++ b/specification/desktopvirtualization/resource-manager/readme.ruby.md
@@ -20,7 +20,19 @@ batch:
- tag: package-2020-11-02-preview
- tag: package-2021-01-14-preview
- tag: package-2021-02-01-preview
+ - tag: package-2021-03-09-preview
```
+
+### Tag: package-2021-03-09-preview and ruby
+
+These settings apply only when `--tag=package-2021-03-09-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-03-00-preview' && $(ruby)
+namespace: "Azure::DesktopVirtualization::Mgmt::V2021_03_09_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_desktop_virtualization/lib
+```
+
### Tag: package-2021-02-01-preview and ruby
These settings apply only when `--tag=package-2021-02-01-preview --ruby` is specified on the command line.
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.csharp.md b/specification/deviceprovisioningservices/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..3ca95a797155
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/readme.csharp.md
@@ -0,0 +1,21 @@
+# C# DPS
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for the Device Provisioning Service.
+
+## C# common settings
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 1
+ client-side-validation: false
+ clear-output-folder: true
+ namespace: Microsoft.Azure.Management.DeviceProvisioningServices
+ output-folder: $(csharp-sdks-folder)/deviceprovisioningservices/Microsoft.Azure.Management.DeviceProvisioningServices/src/Generated
+```
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.go.md b/specification/deviceprovisioningservices/resource-manager/readme.go.md
index 4d49e8def6ef..03f41eeac24e 100644
--- a/specification/deviceprovisioningservices/resource-manager/readme.go.md
+++ b/specification/deviceprovisioningservices/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: iothub
```
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.java.md b/specification/deviceprovisioningservices/resource-manager/readme.java.md
new file mode 100644
index 000000000000..881795d3cb5e
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/readme.java.md
@@ -0,0 +1,66 @@
+# Java DPS
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for the Device Provisioning Service.
+
+## Java common settings
+
+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
+ regenerate-manager: true
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ client-side-validation: false
+ generate-interface: true
+ clear-output-folder: true
+ output-folder: $(azure-libraries-for-java-folder)/deviceprovisioningservices
+```
+
+## Tag: package-2020-03 and java
+
+These settings apply only when `--tag=package-2020-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-03' && $(java)
+java:
+ namespace: com.microsoft.azure.management.deviceprovisioningservices.v2020_03_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/deviceprovisioningservices/mgmt-v2020_03_01
+```
+
+## Tag: package-2018-01 and java
+
+These settings apply only when `--tag=package-2018-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.deviceprovisioningservices.v2018_01_22
+ output-folder: $(azure-libraries-for-java-folder)/sdk/deviceprovisioningservices/mgmt-v2018_01_22
+```
+
+## Tag: package-2017-11 and java
+
+These settings apply only when `--tag=package-2017-11 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-11' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.deviceprovisioningservices.v2017_11_15
+ output-folder: $(azure-libraries-for-java-folder)/sdk/deviceprovisioningservices/mgmt-v2017_11_15
+```
+
+## Tag: package-2017-08 and java
+
+These settings apply only when `--tag=package-2017-08 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-08' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.deviceprovisioningservices.v2017_08_21_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/deviceprovisioningservices/mgmt-v2017_08_21_preview
+```
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.md b/specification/deviceprovisioningservices/resource-manager/readme.md
index 1c2ab28cd471..cb42add27382 100644
--- a/specification/deviceprovisioningservices/resource-manager/readme.md
+++ b/specification/deviceprovisioningservices/resource-manager/readme.md
@@ -26,10 +26,9 @@ These are the global settings for the API.
``` yaml
openapi-type: arm
-tag: package-preview-2020-09
+tag: package-2020-03
```
-
### Tag: package-preview-2020-09
These settings apply only when `--tag=package-preview-2020-09` is specified on the command line.
@@ -38,6 +37,7 @@ These settings apply only when `--tag=package-preview-2020-09` is specified on t
input-file:
- Microsoft.Devices/preview/2020-09-01-preview/iotdps.json
```
+
### Tag: package-2020-03
These settings apply only when `--tag=package-2020-03` is specified on the command line.
@@ -85,9 +85,9 @@ input-file:
---
-# Code Generation
+## Code Generation
-## Swagger to SDK
+### Swagger to SDK
This section describes what SDK should be generated by the automatic system.
This is not used by Autorest itself.
@@ -105,21 +105,11 @@ swagger-to-sdk:
- node sdkauto_afterscript.js deviceprovisioningservices/resource-manager
```
-## C#
+### 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.DeviceProvisioningServices
- output-folder: $(csharp-sdks-folder)/deviceprovisioningservices/Microsoft.Azure.Management.DeviceProvisioningServices/src/Generated
- clear-output-folder: true
-```
+See configuration in [readme.csharp.md](./readme.csharp.md)
-## Python
+### Python
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
@@ -148,73 +138,14 @@ python:
output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothubprovisioningservices
```
-## Go
+### Go
See configuration in [readme.go.md](./readme.go.md)
-## Java
-
-These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(java)
-azure-arm: true
-fluent: true
-namespace: com.microsoft.azure.management.provisioningservices
-license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
-output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-provisioningservices
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2017-08
- - tag: package-2017-11
- - tag: package-2018-01
-```
+### Java
-### Tag: package-2017-08 and java
+See configuration in [readme.java.md](./readme.java.md)
-These settings apply only when `--tag=package-2017-08 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2017-08' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.deviceprovisioningservices.v2017_08_21_preview
- output-folder: $(azure-libraries-for-java-folder)/sdk/deviceprovisioningservices/mgmt-v2017_08_21_preview
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2017-11 and java
-
-These settings apply only when `--tag=package-2017-11 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2017-11' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.deviceprovisioningservices.v2017_11_15
- output-folder: $(azure-libraries-for-java-folder)/sdk/deviceprovisioningservices/mgmt-v2017_11_15
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2018-01 and java
-
-These settings apply only when `--tag=package-2018-01 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2018-01' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.deviceprovisioningservices.v2018_01_22
- output-folder: $(azure-libraries-for-java-folder)/sdk/deviceprovisioningservices/mgmt-v2018_01_22
-regenerate-manager: true
-generate-interface: true
-```
-
-## AzureResourceSchema
+### AzureResourceSchema
See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-
diff --git a/specification/deviceupdate/data-plane/readme.csharp.md b/specification/deviceupdate/data-plane/readme.csharp.md
deleted file mode 100644
index 4c4a616635ff..000000000000
--- a/specification/deviceupdate/data-plane/readme.csharp.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## C
-
-These settings apply only when `--csharp` is specified on the command line.
-Please also specify `--csharp-sdks-folder=`.
-
-```yaml $(csharp)
-csharp:
- azure-arm: false
- public-clients: true
- license-header: MICROSOFT_MIT_SMALL_NO_CODEGEN
- payload-flattening-threshold: 1
- clear-output-folder: true
- client-side-validation: false
- namespace: Azure.Iot.DeviceUpdate
- output-folder: $(csharp-sdks-folder)/deviceupdate/Azure.Iot.DeviceUpdate/src/Generated
-```
diff --git a/specification/deviceupdate/data-plane/readme.md b/specification/deviceupdate/data-plane/readme.md
index 501f3300fd99..1cca118e7d26 100644
--- a/specification/deviceupdate/data-plane/readme.md
+++ b/specification/deviceupdate/data-plane/readme.md
@@ -64,10 +64,6 @@ See configuration in [readme.python.md](./readme.python.md)
See configuration in [readme.typescript.md](./readme.typescript.md)
-## CSharp
-
-See configuration in [readme.csharp.md](./readme.csharp.md)
-
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
index 0e3c6a46d44c..b893af42fd06 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
@@ -34,78 +34,85 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.DeviceUpdate/accounts": {
- "get": {
- "description": "Returns list of Accounts.",
- "operationId": "Accounts_ListBySubscription",
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DeviceUpdate/checknameavailability": {
+ "post": {
+ "description": "Checks ADU resource name availability.",
+ "operationId": "CheckNameAvailability",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityRequest"
+ },
+ "in": "body",
+ "name": "request",
+ "required": true,
+ "description": "Check Name Availability Request."
}
],
"responses": {
"200": {
- "description": "List of Accounts.",
+ "description": "Check Name Availability Response.",
"schema": {
- "$ref": "#/definitions/AccountList"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityResponse"
}
},
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
- "deprecated": false,
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
"x-ms-examples": {
- "Get list of Accounts": {
- "$ref": "./examples/Accounts/Accounts_List.json"
+ "CheckNameAvailability_Available": {
+ "$ref": "./examples/CheckNameAvailability_Available.json"
+ },
+ "CheckNameAvailability_AlreadyExists": {
+ "$ref": "./examples/CheckNameAvailability_AlreadyExists.json"
}
- }
+ },
+ "deprecated": false
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.DeviceUpdate/accounts/{accountName}/instances": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DeviceUpdate/accounts": {
"get": {
- "description": "Returns instances for the given account name.",
- "operationId": "Instances_ListBySubscription",
+ "description": "Returns list of Accounts.",
+ "operationId": "Accounts_ListBySubscription",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/AccountNameParameter"
}
],
"responses": {
"200": {
- "description": "List of Instances.",
+ "description": "List of Accounts.",
"schema": {
- "$ref": "#/definitions/InstanceList"
+ "$ref": "#/definitions/AccountList"
}
},
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
+ "deprecated": false,
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "Get list of Instances by Account": {
- "$ref": "./examples/Instances/Instances_ListByAccount.json"
+ "Get list of Accounts": {
+ "$ref": "./examples/Accounts/Accounts_List.json"
}
}
}
@@ -135,7 +142,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -178,7 +185,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -228,7 +235,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -261,7 +268,7 @@
],
"responses": {
"200": {
- "description": "Async operation to delete Account was created."
+ "description": "Account was deleted."
},
"202": {
"description": "Async operation to delete Account was created."
@@ -272,7 +279,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -310,7 +317,13 @@
],
"responses": {
"200": {
- "description": "Account updated successfully.",
+ "description": "Account was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "201": {
+ "description": "Account was updated successfully.",
"schema": {
"$ref": "#/definitions/Account"
}
@@ -318,7 +331,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -361,7 +374,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -406,7 +419,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -459,7 +472,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -495,7 +508,7 @@
],
"responses": {
"200": {
- "description": "Async operation to delete Instance was created."
+ "description": "Instance was deleted."
},
"202": {
"description": "Async operation to delete Instance was created."
@@ -506,7 +519,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -547,7 +560,7 @@
],
"responses": {
"200": {
- "description": "Instance updated successfully.",
+ "description": "Instance was updated successfully.",
"schema": {
"$ref": "#/definitions/Instance"
}
@@ -555,7 +568,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -585,7 +598,7 @@
"default": {
"description": "Error response describing the reason for operation failure.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
}
}
},
@@ -606,6 +619,10 @@
}
],
"properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData",
+ "readOnly": true
+ },
"properties": {
"description": "Device Update account properties.",
"x-ms-client-flatten": true,
@@ -634,6 +651,10 @@
"readOnly": true
}
}
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The type of identity used for the resource."
}
}
},
@@ -663,6 +684,10 @@
}
],
"properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData",
+ "readOnly": true
+ },
"properties": {
"description": "Device Update instance properties.",
"x-ms-client-flatten": true,
@@ -721,6 +746,33 @@
}
}
},
+ "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": {
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ },
+ "type": "string",
+ "description": "The identity type."
+ }
+ }
+ },
"IotHubSettings": {
"type": "object",
"description": "Device Update account integration with IoT Hub settings.",
@@ -746,46 +798,13 @@
"resourceId"
]
},
- "ErrorResponse": {
- "description": "Error response indicates that the service is not able to process the incoming request.",
- "properties": {
- "code": {
- "description": "Error status code.",
- "type": "string",
- "readOnly": true
- },
- "error": {
- "$ref": "#/definitions/ErrorDefinition",
- "description": "Error details.",
- "readOnly": true
- }
- }
- },
- "ErrorDefinition": {
- "description": "Error definition.",
- "properties": {
- "code": {
- "description": "Error status code.",
- "type": "string",
- "readOnly": true
- },
- "message": {
- "description": "Error message.",
- "type": "string",
- "readOnly": true
- },
- "details": {
- "description": "Error details.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ErrorDefinition"
- }
- }
- }
- },
"AccountUpdate": {
"description": "Request payload used to update and existing Accounts.",
"properties": {
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The type of identity used for the resource."
+ },
"location": {
"type": "string",
"description": "The geo-location where the resource lives"
@@ -841,7 +860,7 @@
"type": "string",
"description": "Account name.",
"x-ms-parameter-location": "method",
- "pattern": "^[A-Za-z][A-Za-z0-9]+$",
+ "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$",
"minLength": 3,
"maxLength": 24
},
@@ -852,7 +871,7 @@
"type": "string",
"description": "Instance name.",
"x-ms-parameter-location": "method",
- "pattern": "^[A-Za-z][A-Za-z0-9]+$",
+ "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$",
"minLength": 3,
"maxLength": 36
}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Accounts/Accounts_Create.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Accounts/Accounts_Create.json
index 8e8f0b68712d..5d0b60514caa 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Accounts/Accounts_Create.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Accounts/Accounts_Create.json
@@ -5,7 +5,7 @@
"accountName": "contoso",
"api-version": "2020-03-01-preview",
"Account": {
- "location": "West US 2",
+ "location": "westus2",
"properties": {}
}
},
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Accounts/Accounts_Update.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Accounts/Accounts_Update.json
index 917c1de425ad..77f0bb4de3c4 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Accounts/Accounts_Update.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Accounts/Accounts_Update.json
@@ -25,6 +25,23 @@
"tagKey": "tagValue"
}
}
+ },
+ "201": {
+ "body": {
+ "name": "contoso",
+ "location": "westus2",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DeviceUpdate/accounts/contoso",
+ "type": "Microsoft.DeviceUpdate/accounts",
+ "identity": {
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "provisioningState": "Created",
+ "hostName": "contoso.api.adu.microsoft.com"
+ }
+ }
}
}
}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/CheckNameAvailability_AlreadyExists.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/CheckNameAvailability_AlreadyExists.json
new file mode 100644
index 000000000000..27c0f55a4d19
--- /dev/null
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/CheckNameAvailability_AlreadyExists.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2020-03-01-preview",
+ "request": {
+ "name": "contoso",
+ "type": "Microsoft.DeviceUpdate/accounts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "Resource name already exists"
+ }
+ }
+ }
+}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/CheckNameAvailability_Available.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/CheckNameAvailability_Available.json
new file mode 100644
index 000000000000..29e72b4b29a3
--- /dev/null
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/CheckNameAvailability_Available.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2020-03-01-preview",
+ "request": {
+ "name": "contoso",
+ "type": "Microsoft.DeviceUpdate/accounts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json
index 32f7fe111527..2f88472e3460 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json
@@ -6,7 +6,7 @@
"instanceName": "blue",
"api-version": "2020-03-01-preview",
"Instance": {
- "location": "West US 2",
+ "location": "westus2",
"properties": {
"iotHubs": [
{
@@ -22,7 +22,7 @@
"201": {
"body": {
"name": "blue",
- "location": "West US 2",
+ "location": "westus2",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DeviceUpdate/accounts/contoso/instances/blue",
"type": "Microsoft.DeviceUpdate/accounts/instances",
"properties": {
diff --git a/specification/deviceupdate/resource-manager/readme.azureresourceschema.md b/specification/deviceupdate/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..5c74a93edf33
--- /dev/null
+++ b/specification/deviceupdate/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-deviceupdate-2020-03-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-deviceupdate-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-deviceupdate-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
+
+```
diff --git a/specification/devops/resource-manager/readme.go.md b/specification/devops/resource-manager/readme.go.md
index b58fcf33e7d4..5df7fd69dbb3 100644
--- a/specification/devops/resource-manager/readme.go.md
+++ b/specification/devops/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: devops
clear-output-folder: true
```
diff --git a/specification/devops/resource-manager/readme.md b/specification/devops/resource-manager/readme.md
index 4ee71522435b..ba2d26e1cde6 100644
--- a/specification/devops/resource-manager/readme.md
+++ b/specification/devops/resource-manager/readme.md
@@ -97,12 +97,12 @@ See configuration in [readme.csharp.md](./readme.csharp.md)
See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-## trenton
+## Terraform
-These settings apply only when `--trenton` is specified on the command line.
+These settings apply only when `--terraform` is specified on the command line.
-``` yaml $(trenton)
-trenton:
+``` yaml $(terraform)
+terraform:
cli-name: devops
azure_arm: true
license_header: MICROSOFT_MIT_NO_VERSION
diff --git a/specification/devspaces/resource-manager/readme.go.md b/specification/devspaces/resource-manager/readme.go.md
index 3bf8fa8f5bbb..44884ee77d73 100644
--- a/specification/devspaces/resource-manager/readme.go.md
+++ b/specification/devspaces/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: devspaces
clear-output-folder: true
```
diff --git a/specification/devtestlabs/resource-manager/readme.go.md b/specification/devtestlabs/resource-manager/readme.go.md
index a8e7bc728d5d..153499536442 100644
--- a/specification/devtestlabs/resource-manager/readme.go.md
+++ b/specification/devtestlabs/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: dtl
clear-output-folder: true
```
diff --git a/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/dfp.json b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/dfp.json
new file mode 100644
index 000000000000..756b85b1c70e
--- /dev/null
+++ b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/dfp.json
@@ -0,0 +1,665 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-02-01-preview",
+ "title": "DFP",
+ "description": "DFP Web API provides a RESTful set of web services that enables users to create, retrieve, update, and delete DFP instances",
+ "x-ms-code-generation-settings": {
+ "name": "DFPManagementClient"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://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.Dynamics365FraudProtection/instances/{instanceName}": {
+ "get": {
+ "description": "Gets details about the specified instances.",
+ "x-ms-examples": {
+ "Get details of an instance": {
+ "$ref": "./examples/getInstance.json"
+ }
+ },
+ "tags": [
+ "Instances"
+ ],
+ "operationId": "Instances_GetDetails",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "instanceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the instance. It must be a minimum of 3 characters, and a maximum of 63."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DFPInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "description": "Provisions the specified DFP instance based on the configuration specified in the request.",
+ "x-ms-examples": {
+ "Create instance": {
+ "$ref": "./examples/createInstance.json"
+ }
+ },
+ "tags": [
+ "Instances"
+ ],
+ "operationId": "Instances_Create",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "instanceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the DFP instances. It must be a minimum of 3 characters, and a maximum of 63."
+ },
+ {
+ "name": "instanceParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DFPInstance"
+ },
+ "description": "Contains the information used to provision the DFP instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DFPInstance"
+ }
+ },
+ "201": {
+ "description": "InProgress. The resource will be created asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DFPInstance"
+ }
+ },
+ "202": {
+ "description": "InProgress. Accepted. The resource will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DFPInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "description": "Deletes the specified DFP instance.",
+ "x-ms-examples": {
+ "Get details of an instance": {
+ "$ref": "./examples/deleteInstance.json"
+ }
+ },
+ "tags": [
+ "Instances"
+ ],
+ "operationId": "Instances_Delete",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "instanceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the DFP instance. It must be at least 3 characters in length, and no more than 63."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted. The resource will be deleted asynchronously."
+ },
+ "204": {
+ "description": "No Content."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates the current state of the specified DFP instance.",
+ "x-ms-examples": {
+ "Update instance parameters": {
+ "$ref": "./examples/updateInstance.json"
+ }
+ },
+ "tags": [
+ "Instances"
+ ],
+ "operationId": "Instances_Update",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "instanceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "The name of the DFP instance. It must be at least 3 characters in length, and no more than 63."
+ },
+ {
+ "name": "instanceUpdateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DFPInstanceUpdateParameters"
+ },
+ "description": "Request object that contains the updated information for the instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DFPInstance"
+ }
+ },
+ "202": {
+ "description": "Accepted. The resource will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DFPInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Dynamics365FraudProtection/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "ListOperations",
+ "description": "Lists all of the available DFP REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get a list of operations supported by Microsoft.Dynamics365FraudProtection resource provider": {
+ "$ref": "./examples/ListOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dynamics365FraudProtection/instances": {
+ "get": {
+ "description": "Gets all the Dedicated instance for the given resource group.",
+ "x-ms-examples": {
+ "List DFP instances in resource group": {
+ "$ref": "./examples/listInstancesInResourceGroup.json"
+ }
+ },
+ "tags": [
+ "Instances"
+ ],
+ "operationId": "Instances_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DFPInstances"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Dynamics365FraudProtection/instances": {
+ "get": {
+ "description": "Lists all the Dedicated instances for the given subscription.",
+ "x-ms-examples": {
+ "Get details of a instance": {
+ "$ref": "./examples/listInstancesInSubscription.json"
+ }
+ },
+ "tags": [
+ "Instances"
+ ],
+ "operationId": "Instances_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DFPInstances"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Dynamics365FraudProtection/locations/{location}/checkNameAvailability": {
+ "post": {
+ "x-ms-examples": {
+ "Check name availability of an instance": {
+ "$ref": "./examples/checkNameAvailability.json"
+ }
+ },
+ "tags": [
+ "Instances"
+ ],
+ "operationId": "Instances_CheckNameAvailability",
+ "description": "Check the name availability in the target location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The region name which the operation will lookup into."
+ },
+ {
+ "name": "instanceParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckInstanceNameAvailabilityParameters"
+ },
+ "description": "The name of the instance."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CheckInstanceNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationDisplayValue": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Friendly name of the operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Friendly name of the resource type the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Friendly description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Friendly name of the resource provider."
+ }
+ },
+ "description": "Display information of an operation."
+ },
+ "DFPInstance": {
+ "description": "Represents an instance of a DFP instance resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DFPInstanceProperties",
+ "description": "Properties of the provision operation request."
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the DFP resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs of additional resource provisioning properties."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "DFPInstances": {
+ "description": "An array of DFP instance resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DFPInstance"
+ },
+ "description": "An array of DFP instance resources."
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DFPInstanceUpdateParameters": {
+ "description": "Provision request specification",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs of additional provisioning properties."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DFPInstanceMutableProperties",
+ "description": "Properties of the provision operation request"
+ }
+ }
+ },
+ "DFPInstanceProperties": {
+ "description": "Properties of DFP resource.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Paused",
+ "Suspended",
+ "Provisioning",
+ "Updating",
+ "Suspending",
+ "Pausing",
+ "Resuming",
+ "Preparing",
+ "Scaling"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "description": "The current deployment state of DFP resource. The provisioningState is to indicate states for resource provisioning."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DFPInstanceMutableProperties"
+ }
+ ]
+ },
+ "DFPInstanceMutableProperties": {
+ "description": "An object that represents a set of mutable DFP resource properties.",
+ "type": "object",
+ "properties": {
+ "administration": {
+ "$ref": "#/definitions/DFPInstanceAdministrators",
+ "description": "A collection of DFP instance administrators"
+ }
+ }
+ },
+ "DFPInstanceAdministrators": {
+ "description": "An array of administrator user identities",
+ "type": "object",
+ "properties": {
+ "members": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The UPN of the user. For example: johnsmith@contoso.com."
+ },
+ "description": "An array of administrator user identities."
+ }
+ }
+ },
+ "CheckInstanceNameAvailabilityParameters": {
+ "description": "Details of DFP instance name request body.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "description": "Name for checking availability."
+ },
+ "type": {
+ "type": "string",
+ "default": "Microsoft.Dynamics365FraudProtection/instances",
+ "description": "The resource type of DFP instance."
+ }
+ }
+ },
+ "CheckInstanceNameAvailabilityResult": {
+ "description": "The checking result of DFP instance name availability.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Indicator of availability of the DFP instance name."
+ },
+ "reason": {
+ "type": "string",
+ "description": "The reason of unavailability."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed message of the request unavailability."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A unique identifier for a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The client API version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "The name of the Azure Resource group of which a given DFP instance is part. This name must be at least 1 character in length, and no more than 90."
+ }
+ }
+}
diff --git a/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/ListOperations.json b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/ListOperations.json
new file mode 100644
index 000000000000..10c3a5c90a1e
--- /dev/null
+++ b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/ListOperations.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Dynamics365Fraudprotection/instances/write",
+ "display": {
+ "provider": "Microsoft Dfp",
+ "resource": "Dynamic Fraud Protection",
+ "operation": "Create/Update Dfp instance",
+ "description": "Creates a DFP instance with the specified parameters or update the properties or tags."
+ }
+ },
+ {
+ "name": "Microsoft.Dynamics365Fraudprotection/instances/delete",
+ "display": {
+ "provider": "Microsoft Dfp",
+ "resource": "Dynamic Fraud Protection",
+ "operation": "Delete Dfp instance",
+ "description": "Deletes an existing Dfp instance."
+ }
+ },
+ {
+ "name": "Microsoft.Dynamics365Fraudprotection/checknameavailability/action",
+ "display": {
+ "provider": "Microsoft Dfp",
+ "resource": "Name Availability",
+ "operation": "Check Name Availability",
+ "description": "Checks that DFP name is valid and is not in use."
+ }
+ },
+ {
+ "name": "Microsoft.Dynamics365Fraudprotection/instances/read",
+ "display": {
+ "provider": "Microsoft Dfp",
+ "resource": "Dynamic Fraud Protection",
+ "operation": "List/Get Dynamic Fraud Protection instance(s)",
+ "description": "Returns the list of Dynamic Fraud Protection instances or gets the properties for the specified Dynamic Fraud Protection instance."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/checkNameAvailability.json b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/checkNameAvailability.json
new file mode 100644
index 000000000000..a0f5a7061efe
--- /dev/null
+++ b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/checkNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "location": "West US",
+ "instanceParameters": {
+ "name": "azsdktest",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances"
+ },
+ "api-version": "2021-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/createInstance.json b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/createInstance.json
new file mode 100644
index 000000000000..becdec728a28
--- /dev/null
+++ b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/createInstance.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "instanceName": "azsdktest",
+ "api-version": "2021-02-01-preview",
+ "instanceParameters": {
+ "tags": {
+ "testKey": "testValue"
+ },
+ "location": "West US",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ },
+ "202": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/deleteInstance.json b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/deleteInstance.json
new file mode 100644
index 000000000000..cc4eb50a1f92
--- /dev/null
+++ b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/deleteInstance.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "instanceName": "azsdktest",
+ "api-version": "2021-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "OK."
+ },
+ "202": {
+ "headers": {},
+ "description": "Accepted."
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/getInstance.json b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/getInstance.json
new file mode 100644
index 000000000000..6a38bd20e500
--- /dev/null
+++ b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/getInstance.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "instanceName": "azsdktest",
+ "api-version": "2021-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/listInstancesInResourceGroup.json b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/listInstancesInResourceGroup.json
new file mode 100644
index 000000000000..141926853a17
--- /dev/null
+++ b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/listInstancesInResourceGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "api-version": "2021-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ },
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest2",
+ "location": "West US",
+ "name": "azsdktest2",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/listInstancesInSubscription.json b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/listInstancesInSubscription.json
new file mode 100644
index 000000000000..d8af722fb2fe
--- /dev/null
+++ b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/listInstancesInSubscription.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "api-version": "2021-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ },
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest2",
+ "location": "West US",
+ "name": "azsdktest2",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/updateInstance.json b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/updateInstance.json
new file mode 100644
index 000000000000..6ce2ce1c2416
--- /dev/null
+++ b/specification/dfp/resource-manager/Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/examples/updateInstance.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "instanceName": "azsdktest",
+ "api-version": "2021-02-01-preview",
+ "instanceUpdateParameters": {
+ "tags": {
+ "testKey": "testValue"
+ },
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest",
+ "location": "West US",
+ "name": "azsdktest",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ },
+ "202": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Dynamics365Fraudprotection/instances/azsdktest",
+ "type": "Microsoft.Dynamics365Fraudprotection/instances",
+ "location": "West US",
+ "name": "azsdktest",
+ "properties": {
+ "administration": {
+ "members": [
+ "azsdktest@microsoft.com",
+ "azsdktest2@microsoft.com"
+ ]
+ },
+ "provisioningState": "Provisioning"
+ },
+ "tags": {
+ "testKey": "testValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dfp/resource-manager/readme.az.md b/specification/dfp/resource-manager/readme.az.md
new file mode 100644
index 000000000000..732f6ec8aa55
--- /dev/null
+++ b/specification/dfp/resource-manager/readme.az.md
@@ -0,0 +1,28 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage.
+
+``` yaml $(az) && $(target-mode) != 'core'
+az:
+ extensions: dfp
+ namespace: azure.mgmt.dfp
+ package-name: azure-mgmt-dfp
+az-output-folder: $(azure-cli-extension-folder)/src/dfp
+python-sdk-output-folder: "$(az-output-folder)/azext_dfp/vendored_sdks/dfp"
+# add additinal configuration here specific for Azure CLI
+# refer to the faq.md for more details
+```
+
+
+
+This is for command modules that already in azure cli main repo.
+``` yaml $(az) && $(target-mode) == 'core'
+az:
+ extensions: dfp
+ namespace: azure.mgmt.dfp
+ package-name: azure-mgmt-dfp
+az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/dfp
+python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/dfp"
+```
\ No newline at end of file
diff --git a/specification/dfp/resource-manager/readme.azureresourceschema.md b/specification/dfp/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..d8d3825cebe5
--- /dev/null
+++ b/specification/dfp/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,23 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-dfp-2021-02-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-dfp-2021-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-dfp-2021-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/dfp.json
+```
diff --git a/specification/dfp/resource-manager/readme.cli.md b/specification/dfp/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..c6cf6ad37ea4
--- /dev/null
+++ b/specification/dfp/resource-manager/readme.cli.md
@@ -0,0 +1 @@
+## CLI Common Settings for all the command line tools
\ No newline at end of file
diff --git a/specification/dfp/resource-manager/readme.csharp.md b/specification/dfp/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..7de79a7c0144
--- /dev/null
+++ b/specification/dfp/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.Dynamics365Fraudprotection
+ output-folder: $(csharp-sdks-folder)/dfp/management/Microsoft.Dynamics365Fraudprotection/GeneratedProtocol
+```
diff --git a/specification/dfp/resource-manager/readme.go.md b/specification/dfp/resource-manager/readme.go.md
new file mode 100644
index 000000000000..8db9da068b43
--- /dev/null
+++ b/specification/dfp/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: dfp
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2021-02-01-preview
+```
+
+### Tag: package-2021-02-01-preview and go
+
+These settings apply only when `--tag=package-2021-02-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2021-02-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-02-01-preview/$(namespace)
+```
diff --git a/specification/dfp/resource-manager/readme.md b/specification/dfp/resource-manager/readme.md
new file mode 100644
index 000000000000..321ef8f1adc1
--- /dev/null
+++ b/specification/dfp/resource-manager/readme.md
@@ -0,0 +1,83 @@
+# dfp
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for dfp.
+
+## 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 dfp.
+
+```yaml
+openapi-type: arm
+tag: package-2021-02-01-preview
+```
+
+### Tag: package-2021-02-01-preview
+
+These settings apply only when `--tag=package-2021-02-01-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-02-01-preview'
+input-file:
+ - Microsoft.Dynamics365Fraudprotection/preview/2021-02-01-preview/dfp.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-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js dfp/resource-manager
+ - repo: azure-cli-extensions
+```
+## Az
+
+See configuration in [readme.az.md](./readme.az.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/dfp/resource-manager/readme.python.md b/specification/dfp/resource-manager/readme.python.md
new file mode 100644
index 000000000000..e90a5c859097
--- /dev/null
+++ b/specification/dfp/resource-manager/readme.python.md
@@ -0,0 +1,21 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-dfp
+no-namespace-folders: true
+package-version: 1.0.0b1
+```
+
+``` yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/dfp/azure-mgmt-dfp/azure/mgmt/dfp
+```
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/dfp/azure-mgmt-dfp
\ No newline at end of file
diff --git a/specification/dfp/resource-manager/readme.typescript.md b/specification/dfp/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..7c430c0b0785
--- /dev/null
+++ b/specification/dfp/resource-manager/readme.typescript.md
@@ -0,0 +1,14 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-dfp"
+ output-folder: "$(typescript-sdks-folder)/sdk/dfp/arm-dfp"
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/digitaltwins/data-plane/readme.go.md b/specification/digitaltwins/data-plane/readme.go.md
index 08bc85c17ad4..bb3bbacc8f46 100644
--- a/specification/digitaltwins/data-plane/readme.go.md
+++ b/specification/digitaltwins/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: digitaltwins
clear-output-folder: true
```
diff --git a/specification/digitaltwins/resource-manager/readme.csharp.md b/specification/digitaltwins/resource-manager/readme.csharp.md
index b6e2467cbd87..dd64cc7ee60d 100644
--- a/specification/digitaltwins/resource-manager/readme.csharp.md
+++ b/specification/digitaltwins/resource-manager/readme.csharp.md
@@ -1,4 +1,6 @@
-## C
+# C# ADT
+
+## C# common settings
These settings apply only when `--csharp` is specified on the command line.
Please also specify `--csharp-sdks-folder=`.
diff --git a/specification/digitaltwins/resource-manager/readme.go.md b/specification/digitaltwins/resource-manager/readme.go.md
index 99e7838eb217..da4c46f5bfab 100644
--- a/specification/digitaltwins/resource-manager/readme.go.md
+++ b/specification/digitaltwins/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: digitaltwins
```
diff --git a/specification/digitaltwins/resource-manager/readme.java.md b/specification/digitaltwins/resource-manager/readme.java.md
index d2ac1dc6a6ab..852a69efc609 100644
--- a/specification/digitaltwins/resource-manager/readme.java.md
+++ b/specification/digitaltwins/resource-manager/readme.java.md
@@ -1,9 +1,15 @@
-## Java
+# Java ADT
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Azure Digital Twins.
+
+## Java common settings
These settings apply only when `--java` is specified on the command line.
Please also specify `--azure-libraries-for-java-folder=`.
-``` yaml $(java)
+```yaml $(java)
azure-arm: true
fluent: true
namespace: com.microsoft.azure.management.digitaltwins
@@ -14,7 +20,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-digitaltwins
### Java multi-api
-``` yaml $(java) && $(multiapi)
+```yaml $(java) && $(multiapi)
batch:
- tag: package-2020-12
- tag: package-2020-10
@@ -26,12 +32,12 @@ batch:
These settings apply only when `--tag=package-2020-12 --java` is specified on the command line.
Please also specify `--azure-libraries-for-java=`.
-``` yaml $(tag) == 'package-2020-12' && $(java) && $(multiapi)
+```yaml $(tag) == 'package-2020-12' && $(java) && $(multiapi)
java:
namespace: com.microsoft.azure.management.digitaltwins.v2020_12_01
output-folder: $(azure-libraries-for-java-folder)/sdk/digitaltwins/mgmt-v2020_12_01
-regenerate-manager: true
-generate-interface: true
+ regenerate-manager: true
+ generate-interface: true
```
### Tag: package-2020-10 and java
@@ -39,12 +45,12 @@ generate-interface: true
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)
+```yaml $(tag) == 'package-2020-10' && $(java) && $(multiapi)
java:
namespace: com.microsoft.azure.management.digitaltwins.v2020_10_31
output-folder: $(azure-libraries-for-java-folder)/sdk/digitaltwins/mgmt-v2020_10_31
-regenerate-manager: true
-generate-interface: true
+ regenerate-manager: true
+ generate-interface: true
```
### Tag: package-2020-03-01-preview and java
@@ -52,10 +58,10 @@ generate-interface: true
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)
+```yaml $(tag) == 'package-2020-03-01-preview' && $(java) && $(multiapi)
java:
namespace: com.microsoft.azure.management.digitaltwins.v2020_03_01_preview
output-folder: $(azure-libraries-for-java-folder)/sdk/digitaltwins/mgmt-v2020_03_01_preview
-regenerate-manager: true
-generate-interface: true
+ regenerate-manager: true
+ generate-interface: true
```
diff --git a/specification/digitaltwins/resource-manager/readme.md b/specification/digitaltwins/resource-manager/readme.md
index 4b01f6442fcf..b015c5da1dde 100644
--- a/specification/digitaltwins/resource-manager/readme.md
+++ b/specification/digitaltwins/resource-manager/readme.md
@@ -29,7 +29,6 @@ openapi-type: arm
tag: package-2020-12
```
-
### Tag: package-2020-12
These settings apply only when `--tag=package-2020-12` is specified on the command line.
@@ -38,6 +37,7 @@ These settings apply only when `--tag=package-2020-12` is specified on the comma
input-file:
- Microsoft.DigitalTwins/stable/2020-12-01/digitaltwins.json
```
+
### Tag: package-2020-10
These settings apply only when `--tag=package-2020-10` is specified on the command line.
@@ -58,9 +58,9 @@ input-file:
---
-# Code Generation
+## Code Generation
-## Swagger to SDK
+### Swagger to SDK
This section describes what SDK should be generated by the automatic system.
This is not used by Autorest itself.
@@ -80,35 +80,35 @@ swagger-to-sdk:
- node sdkauto_afterscript.js digitaltwins/resource-manager
```
-## Go
+### Go
See configuration in [readme.go.md](./readme.go.md)
-## Python
+### Python
See configuration in [readme.python.md](./readme.python.md)
-## Ruby
+### Ruby
See configuration in [readme.ruby.md](./readme.ruby.md)
-## TypeScript
+### TypeScript
See configuration in [readme.typescript.md](./readme.typescript.md)
-## CSharp
+### CSharp
See configuration in [readme.csharp.md](./readme.csharp.md)
-## Java
+### Java
See configuration in [readme.java.md](./readme.java.md)
-## AzureResourceSchema
+### AzureResourceSchema
See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-## Suppression
+### Suppression
``` yaml
directive:
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/common-types.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/common-types.json
new file mode 100644
index 000000000000..00dd3bad680a
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/common-types.json
@@ -0,0 +1,49 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-15",
+ "title": "DNC",
+ "description": "DNC web api provides way to create, get and delete dnc controller"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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": {
+ "controllerDetails": {
+ "description": "controller details",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "controller arm resource id",
+ "type": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/controller.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/controller.json
new file mode 100644
index 000000000000..2aea68e02dc5
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/controller.json
@@ -0,0 +1,450 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-15",
+ "title": "DNC",
+ "description": "DNC web api provides way to create, get and delete dnc controller"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://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.DelegatedNetwork/controller/{resourceName}": {
+ "get": {
+ "description": "Gets details about the specified dnc controller.",
+ "x-ms-examples": {
+ "Get details of a controller": {
+ "$ref": "./examples/getController.json"
+ }
+ },
+ "tags": [
+ "Controller"
+ ],
+ "operationId": "Controller_GetDetails",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedController"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "description": "Create a dnc controller",
+ "x-ms-examples": {
+ "Create controller": {
+ "$ref": "./examples/putController.json"
+ }
+ },
+ "tags": [
+ "Controller"
+ ],
+ "operationId": "Controller_Create",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DelegatedController"
+ },
+ "description": "controller type parameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedController"
+ }
+ },
+ "201": {
+ "description": "InProgress. The operation is still in progress.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedController"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "description": "Deletes the DNC controller",
+ "x-ms-examples": {
+ "Delete controller": {
+ "$ref": "./examples/deleteController.json"
+ }
+ },
+ "tags": [
+ "Controller"
+ ],
+ "operationId": "Controller_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "No Content."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "description": "Update dnc controller",
+ "x-ms-examples": {
+ "update controller": {
+ "$ref": "./examples/patchController.json"
+ }
+ },
+ "tags": [
+ "Controller"
+ ],
+ "operationId": "Controller_Patch",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ControllerResourceUpdateParameters"
+ },
+ "description": "controller type parameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedController"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DelegatedNetwork/controllers": {
+ "get": {
+ "tags": [
+ "DelegatedControllers"
+ ],
+ "description": "Get all the delegatedController resources in a subscription.",
+ "operationId": "DelegatedNetwork_ListBySubscription",
+ "x-ms-examples": {
+ "Get DelegatedController resources by subscription": {
+ "$ref": "./examples/controllerListBySub.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the DelegatedControllers in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedControllers"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DelegatedNetwork/controllers": {
+ "get": {
+ "tags": [
+ "DelegatedControllers"
+ ],
+ "description": "Get all the delegatedController resources in a resource group.",
+ "operationId": "DelegatedNetwork_ListByResourceGroup",
+ "x-ms-examples": {
+ "Get DelegatedNetwork resources by resource group": {
+ "$ref": "./examples/controllerListByRG.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the delegatedControllers in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedControllers"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ControllerResource": {
+ "description": "Represents an instance of a resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An identifier that represents the resource."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the resource."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ControllerResourceUpdateParameters": {
+ "description": "Parameters for updating a resource.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ }
+ },
+ "DelegatedControllers": {
+ "description": "An array of Delegated controller resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DelegatedController"
+ },
+ "description": "An array of Delegated controller resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of controllers.",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DelegatedController": {
+ "description": "Represents an instance of a DNC controller.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ControllerResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "$ref": "#/definitions/DelegatedControllerProperties",
+ "description": "Properties of the provision operation request."
+ }
+ }
+ },
+ "DelegatedControllerProperties": {
+ "description": "Properties of Delegated controller resource.",
+ "type": "object",
+ "properties": {
+ "resourceGuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource guid."
+ },
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ControllerState",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "description": "The current state of dnc controller resource."
+ },
+ "dncAppId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "dnc application id should be used by customer to authenticate with dnc gateway."
+ },
+ "dncTenantId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "tenant id of dnc application id"
+ },
+ "dncEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "dnc endpoint url that customers can use to connect to"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "resourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "x-ms-parameter-location": "method",
+ "description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63."
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/delegatedSubnets.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/delegatedSubnets.json
new file mode 100644
index 000000000000..b547fe896a89
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/delegatedSubnets.json
@@ -0,0 +1,464 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-15",
+ "title": "DNC",
+ "description": "DNC web api provides way to create, get and delete dnc controller"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://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.DelegatedNetwork/delegatedSubnets/{resourceName}": {
+ "get": {
+ "description": "Gets details about the specified dnc DelegatedSubnet Link.",
+ "x-ms-examples": {
+ "Get details of a delegated subnet": {
+ "$ref": "./examples/getDelegatedSubnet.json"
+ }
+ },
+ "tags": [
+ "DNCDelegatedSubnet"
+ ],
+ "operationId": "DelegatedSubnetService_GetDetails",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedSubnet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "description": "Put delegated subnet resource",
+ "x-ms-examples": {
+ "put delegated subnet": {
+ "$ref": "./examples/putDelegatedSubnet.json"
+ }
+ },
+ "tags": [
+ "DNCDelegatedSubnet"
+ ],
+ "operationId": "DelegatedSubnetService_PutDetails",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DelegatedSubnet"
+ },
+ "description": "Delegated subnet details."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedSubnet"
+ }
+ },
+ "201": {
+ "description": "InProgress. The operation is still in progress",
+ "schema": {
+ "$ref": "#/definitions/DelegatedSubnet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "description": "Patch delegated subnet resource",
+ "x-ms-examples": {
+ "patch delegated subnet": {
+ "$ref": "./examples/patchDelegatedSubnet.json"
+ }
+ },
+ "tags": [
+ "DNCDelegatedSubnet"
+ ],
+ "operationId": "DelegatedSubnetService_PatchDetails",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResourceUpdateParameters"
+ },
+ "description": "Delegated subnet details."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedSubnet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "description": "Delete dnc DelegatedSubnet.",
+ "x-ms-examples": {
+ "delete delegated subnet": {
+ "$ref": "./examples/deleteDelegatedSubnet.json"
+ }
+ },
+ "tags": [
+ "DNCDelegatedSubnet"
+ ],
+ "operationId": "DelegatedSubnetService_DeleteDetails",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ForceDeleteParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "No Content."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DelegatedNetwork/delegatedSubnets": {
+ "get": {
+ "tags": [
+ "DelegatedSubnets"
+ ],
+ "description": "Get all the DelegatedSubnets resources in a subscription.",
+ "operationId": "DelegatedSubnetService_ListBySubscription",
+ "x-ms-examples": {
+ "Get DelegatedSubnets resources by subscription": {
+ "$ref": "./examples/delegatedSubnetListBySub.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the DelegatedSubnets in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedSubnets"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DelegatedNetwork/delegatedSubnets": {
+ "get": {
+ "tags": [
+ "DelegatedSubnets"
+ ],
+ "description": "Get all the DelegatedSubnets resources in a resource group.",
+ "operationId": "DelegatedSubnetService_ListByResourceGroup",
+ "x-ms-examples": {
+ "Get DelegatedSubnets resources by resource group": {
+ "$ref": "./examples/delegatedSubnetListByRG.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the DelegatedSubnets in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/DelegatedSubnets"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DelegatedSubnetResource": {
+ "description": "Represents an instance of a resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An identifier that represents the resource."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the resource."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ResourceUpdateParameters": {
+ "description": "Parameters for updating a resource.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ }
+ },
+ "DelegatedSubnets": {
+ "description": "An array of DelegatedSubnet resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DelegatedSubnet"
+ },
+ "description": "An array of DelegatedSubnet resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of DelegatedSubnet resources.",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DelegatedSubnet": {
+ "description": "Represents an instance of a orchestrator.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DelegatedSubnetResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "readOnly": true,
+ "$ref": "#/definitions/DelegatedSubnetProperties",
+ "description": "Properties of the provision operation request."
+ }
+ }
+ },
+ "DelegatedSubnetProperties": {
+ "description": "Properties of delegated subnet",
+ "type": "object",
+ "properties": {
+ "resourceGuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource guid."
+ },
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "DelegatedSubnetState",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "description": "The current state of dnc delegated subnet resource."
+ },
+ "subnetDetails": {
+ "description": "subnet details",
+ "$ref": "#/definitions/subnetDetails"
+ },
+ "controllerDetails": {
+ "$ref": "./common-types.json#/definitions/controllerDetails",
+ "description": "Properties of the controller."
+ }
+ }
+ },
+ "subnetDetails": {
+ "description": "Properties of orchestrator",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "subnet arm resource id",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "resourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "x-ms-parameter-location": "method",
+ "description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63."
+ },
+ "ForceDeleteParameter": {
+ "name": "forceDelete",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force delete resource",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/controllerListByRG.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/controllerListByRG.json
new file mode 100644
index 000000000000..2f1a3bbee00a
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/controllerListByRG.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e",
+ "api-version": "2021-3-15",
+ "resourceGroupName": "testRG"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller",
+ "location": "West US",
+ "name": "testcontroller",
+ "type": "Microsoft.DelegatedNetwork/controller",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncEndpoint": "https://orch.useast.dnc.azure.com"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/controllerListBySub.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/controllerListBySub.json
new file mode 100644
index 000000000000..ad15f148ca92
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/controllerListBySub.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e",
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller",
+ "location": "West US",
+ "name": "testcontroller",
+ "type": "Microsoft.DelegatedNetwork/controller",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncEndpoint": "https://orch.useast.dnc.azure.com"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/delegatedNetworkOperationsList.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/delegatedNetworkOperationsList.json
new file mode 100644
index 000000000000..1cd5f99a23da
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/delegatedNetworkOperationsList.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DelegatedNetwork/controller/write",
+ "display": {
+ "provider": "Microsoft Delegated Network Service",
+ "resource": "Microsoft Delegated Network Controller Service instance",
+ "operation": "Create or update a Controller Service instance.",
+ "description": "Create or update a Controller Service instance."
+ }
+ },
+ {
+ "name": "Microsoft.DelegatedNetwork/controller/read",
+ "display": {
+ "provider": "Microsoft Delegated Network Service",
+ "resource": "Microsoft Delegated Network Controller Service instance",
+ "operation": "Get a Controller Service instance.",
+ "description": "Get a Controller Service instance."
+ }
+ },
+ {
+ "name": "Microsoft.DelegatedNetwork/controller/delete",
+ "display": {
+ "provider": "Microsoft Delegated Network Service",
+ "resource": "Microsoft Delegated Network Controller Service instance",
+ "operation": "Delete a Controller Service instance.",
+ "description": "Delete a Controller Service instance."
+ }
+ },
+ {
+ "name": "Microsoft.DelegatedNetwork/orchestratorInstances/write",
+ "display": {
+ "provider": "Microsoft Delegated Network Service",
+ "resource": "Microsoft Delegated Network orchestratorInstance",
+ "operation": "Create or update a orchestratorInstance.",
+ "description": "Create or update a orchestratorInstance."
+ }
+ },
+ {
+ "name": "Microsoft.DelegatedNetwork/controller/read",
+ "display": {
+ "provider": "Microsoft Delegated Network Service",
+ "resource": "Microsoft Delegated Network orchestratorInstance",
+ "operation": "Get a orchestratorInstances.",
+ "description": "Get a orchestratorInstance."
+ }
+ },
+ {
+ "name": "Microsoft.DelegatedNetwork/controller/delete",
+ "display": {
+ "provider": "Microsoft Delegated Network Service",
+ "resource": "Microsoft Delegated Network orchestratorInstance",
+ "operation": "Delete a orchestratorInstance.",
+ "description": "Delete a orchestratorInstance."
+ }
+ },
+ {
+ "name": "Microsoft.DelegatedNetwork/delegatedSubnets/write",
+ "display": {
+ "provider": "Microsoft Delegated Network Service",
+ "resource": "Microsoft Delegated subnet instance",
+ "operation": "Create or update a Delegated subnet instance.",
+ "description": "Create or update a Delegated subnet instance."
+ }
+ },
+ {
+ "name": "Microsoft.DelegatedNetwork/delegatedSubnets/read",
+ "display": {
+ "provider": "Microsoft Delegated Network Service",
+ "resource": "Microsoft Delegated subnet instance",
+ "operation": "Get a Delegated subnet instance.",
+ "description": "Get a Delegated subnet instance."
+ }
+ },
+ {
+ "name": "Microsoft.DelegatedNetwork/delegatedSubnets/delete",
+ "display": {
+ "provider": "Microsoft Delegated Network Controller Service",
+ "resource": "Microsoft Delegated subnet instance",
+ "operation": "Delete a Delegated subnet instance.",
+ "description": "Delete a Delegated subnet instance."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/delegatedSubnetListByRG.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/delegatedSubnetListByRG.json
new file mode 100644
index 000000000000..9d06203c75fe
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/delegatedSubnetListByRG.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e",
+ "api-version": "2021-3-15",
+ "resourceGroupName": "testRG"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1",
+ "location": "West US",
+ "name": "delegated1",
+ "type": "Microsoft.DelegatedNetwork/delegatedSubnets",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "subnetDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
+ },
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/delegatedSubnetListBySub.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/delegatedSubnetListBySub.json
new file mode 100644
index 000000000000..7722fd8f9aac
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/delegatedSubnetListBySub.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e",
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1",
+ "location": "West US",
+ "name": "delegated1",
+ "type": "Microsoft.DelegatedNetwork/delegatedSubnets",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "subnetDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
+ },
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/deleteController.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/deleteController.json
new file mode 100644
index 000000000000..941ffb8595b4
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/deleteController.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "testcontroller",
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "OK."
+ },
+ "202": {
+ "headers": {},
+ "description": "Accepted."
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/deleteDelegatedSubnet.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/deleteDelegatedSubnet.json
new file mode 100644
index 000000000000..69f519913d7f
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/deleteDelegatedSubnet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "delegated1",
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "OK."
+ },
+ "202": {
+ "headers": {},
+ "description": "Accepted."
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/deleteOrchestrator.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/deleteOrchestrator.json
new file mode 100644
index 000000000000..d4053863ce9f
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/deleteOrchestrator.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "k8stest1",
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "OK."
+ },
+ "202": {
+ "headers": {},
+ "description": "Accepted."
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/getController.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/getController.json
new file mode 100644
index 000000000000..3bbb9af8e04a
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/getController.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "testcontroller",
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller",
+ "location": "West US",
+ "name": "testcontroller",
+ "type": "Microsoft.DelegatedNetwork/controller",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncEndpoint": "https://orch.useast.dnc.azure.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/getDelegatedSubnet.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/getDelegatedSubnet.json
new file mode 100644
index 000000000000..2974a511d2f5
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/getDelegatedSubnet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "delegated1",
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1",
+ "location": "West US",
+ "name": "delegated1",
+ "type": "Microsoft.DelegatedNetwork/delegatedSubnets",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "subnetDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
+ },
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/getOrchestrator.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/getOrchestrator.json
new file mode 100644
index 000000000000..814eda10f77b
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/getOrchestrator.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "testk8s1",
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1",
+ "location": "West US",
+ "name": "testk8s1",
+ "type": "Microsoft.DelegatedNetwork/orchestrators",
+ "kind": "Kubernetes",
+ "identity": {
+ "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1",
+ "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3",
+ "clusterRootCA": "ddsadsad344mfdsfdl",
+ "apiServerEndpoint": "https://testk8s.cloudapp.net",
+ "privateLinkResourceId": "/subscriptions/d21192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/plrg/Microsoft.Network/PrivateLink/pl1",
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/orchestratorInstanceListByRG.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/orchestratorInstanceListByRG.json
new file mode 100644
index 000000000000..e71fb37796d8
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/orchestratorInstanceListByRG.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e",
+ "api-version": "2021-3-15",
+ "resourceGroupName": "testRG"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1",
+ "location": "West US",
+ "name": "testk8s1",
+ "type": "Microsoft.DelegatedNetwork/orchestrators",
+ "kind": "Kubernetes",
+ "identity": {
+ "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1",
+ "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3",
+ "clusterRootCA": "ddsadsad344mfdsfdl",
+ "apiServerEndpoint": "https://testk8s.cloudapp.net",
+ "privateLinkResourceId": "/subscriptions/d21192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/plrg/Microsoft.Network/PrivateLink/pl1",
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/orchestratorInstanceListBySub.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/orchestratorInstanceListBySub.json
new file mode 100644
index 000000000000..451b58f6040b
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/orchestratorInstanceListBySub.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "50016170-c839-41ba-a724-51e9df440b9e",
+ "api-version": "2021-3-15"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1",
+ "location": "West US",
+ "name": "testk8s1",
+ "type": "Microsoft.DelegatedNetwork/orchestrators",
+ "kind": "Kubernetes",
+ "identity": {
+ "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1",
+ "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3",
+ "clusterRootCA": "ddsadsad344mfdsfdl",
+ "apiServerEndpoint": "https://testk8s.cloudapp.net",
+ "privateLinkResourceId": "/subscriptions/d21192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/plrg/Microsoft.Network/PrivateLink/pl1",
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/patchController.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/patchController.json
new file mode 100644
index 000000000000..56ab17c6c3fa
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/patchController.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "testcontroller",
+ "api-version": "2021-3-15",
+ "parameters": {
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller",
+ "location": "West US",
+ "name": "testcontroller",
+ "type": "Microsoft.DelegatedNetwork/controller",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncEndpoint": "https://orch.useast.dnc.azure.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/patchDelegatedSubnet.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/patchDelegatedSubnet.json
new file mode 100644
index 000000000000..6edf631a9a60
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/patchDelegatedSubnet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "delegated1",
+ "api-version": "2021-3-15",
+ "parameters": {
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1",
+ "location": "West US",
+ "name": "delegated1",
+ "type": "Microsoft.DelegatedNetwork/delegatedSubnets",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "subnetDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
+ },
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/patchOrchestrator.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/patchOrchestrator.json
new file mode 100644
index 000000000000..af38d943df31
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/patchOrchestrator.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "testk8s1",
+ "api-version": "2021-3-15",
+ "parameters": {
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1",
+ "location": "West US",
+ "name": "testk8s1",
+ "type": "Microsoft.DelegatedNetwork/orchestrators",
+ "kind": "Kubernetes",
+ "tags": {
+ "key": "value"
+ },
+ "identity": {
+ "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1",
+ "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3",
+ "clusterRootCA": "ddsadsad344mfdsfdl",
+ "apiServerEndpoint": "https://testk8s.cloudapp.net",
+ "privateLinkResourceId": "/subscriptions/d21192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/plrg/Microsoft.Network/PrivateLink/pl1",
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/putController.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/putController.json
new file mode 100644
index 000000000000..cf0e09a77393
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/putController.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "testcontroller",
+ "api-version": "2021-3-15",
+ "parameters": {
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller",
+ "location": "West US",
+ "name": "testcontroller",
+ "type": "Microsoft.DelegatedNetwork/controller",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "dncAppId": "ac1192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncTenantId": "66192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "dncEndpoint": "https://orch.useast.dnc.azure.com"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller",
+ "location": "West US",
+ "name": "testcontroller",
+ "type": "Microsoft.DelegatedNetwork/controller",
+ "properties": {
+ "provisioningState": "Provisioning"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/putDelegatedSubnet.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/putDelegatedSubnet.json
new file mode 100644
index 000000000000..6a22c130f71b
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/putDelegatedSubnet.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "delegated1",
+ "api-version": "2021-3-15",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "subnetDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
+ },
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1",
+ "location": "West US",
+ "name": "delegated1",
+ "type": "Microsoft.DelegatedNetwork/delegatedSubnets",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "5a82cbcf-e8ea-4175-ac2b-ad36a73f9801",
+ "subnetDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/testsubnet"
+ },
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/dnctestcontroller"
+ }
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/delegatedSubnets/delegated1",
+ "location": "West US",
+ "name": "delegated1",
+ "type": "Microsoft.DelegatedNetwork/delegatedSubnets",
+ "properties": {
+ "provisioningState": "Provisioning"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/putOrchestrator.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/putOrchestrator.json
new file mode 100644
index 000000000000..085d2657b641
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/examples/putOrchestrator.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "resourceGroupName": "TestRG",
+ "resourceName": "testk8s1",
+ "api-version": "2021-3-15",
+ "parameters": {
+ "location": "West US",
+ "kind": "Kubernetes",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1",
+ "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3",
+ "clusterRootCA": "ddsadsad344mfdsfdl",
+ "apiServerEndpoint": "https://testk8s.cloudapp.net",
+ "privateLinkResourceId": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.Network/privateLinkServices/plresource1",
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1",
+ "location": "West US",
+ "name": "testk8s1",
+ "type": "Microsoft.DelegatedNetwork/orchestrators",
+ "kind": "Kubernetes",
+ "identity": {
+ "principalId": "7a2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "tenantId": "3e2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1b2192d7-503f-477a-9cfe-4efc3ee2bd60",
+ "orchestratorAppId": "546192d7-503f-477a-9cfe-4efc3ee2b6e1",
+ "orchestratorTenantId": "da6192d7-503f-477a-9cfe-4efc3ee2b6c3",
+ "privateLinkResourceId": "/subscriptions/d21192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/plrg/Microsoft.Network/PrivateLink/pl1",
+ "clusterRootCA": "ddsadsad344mfdsfdl",
+ "apiServerEndpoint": "https://testk8s.cloudapp.net",
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller"
+ }
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/orchestrators/testk8s1",
+ "location": "West US",
+ "name": "testk8s1",
+ "type": "Microsoft.DelegatedNetwork/orchestrators",
+ "kind": "Kubernetes",
+ "properties": {
+ "provisioningState": "Provisioning",
+ "controllerDetails": {
+ "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/resourceGroups/TestRG/providers/Microsoft.DelegatedNetwork/controller/testcontroller"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/operations.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/operations.json
new file mode 100644
index 000000000000..5d4a9aeaa73d
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/operations.json
@@ -0,0 +1,74 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-15",
+ "title": "DNC",
+ "description": "DNC web api provides way to create, get and delete dnc controller"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.DelegatedNetwork/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available DelegatedNetwork service REST API operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Get available operations": {
+ "$ref": "./examples/delegatedNetworkOperationsList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/orchestrators.json b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/orchestrators.json
new file mode 100644
index 000000000000..2a304e4ea697
--- /dev/null
+++ b/specification/dnc/resource-manager/Microsoft.DelegatedNetwork/stable/2021-03-15/orchestrators.json
@@ -0,0 +1,504 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-15",
+ "title": "DNC",
+ "description": "DNC web api provides way to create, get and delete dnc controller"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://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.DelegatedNetwork/orchestrators/{resourceName}": {
+ "get": {
+ "description": "Gets details about the orchestrator instance.",
+ "x-ms-examples": {
+ "Get details of a orchestratorInstance": {
+ "$ref": "./examples/getOrchestrator.json"
+ }
+ },
+ "tags": [
+ "OrchestratorInstance"
+ ],
+ "operationId": "OrchestratorInstanceService_GetDetails",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/Orchestrator"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "description": "Create a orchestrator instance",
+ "x-ms-examples": {
+ "Create orchestrator instance": {
+ "$ref": "./examples/putOrchestrator.json"
+ }
+ },
+ "tags": [
+ "OrchestratorInstance"
+ ],
+ "operationId": "OrchestratorInstanceService_Create",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Orchestrator"
+ },
+ "description": "OrchestratorInstance type parameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/Orchestrator"
+ }
+ },
+ "201": {
+ "description": "InProgress. The operation is still in progress.",
+ "schema": {
+ "$ref": "#/definitions/Orchestrator"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "description": "Deletes the Orchestrator Instance",
+ "x-ms-examples": {
+ "Delete Orchestrator Instance": {
+ "$ref": "./examples/deleteOrchestrator.json"
+ }
+ },
+ "tags": [
+ "OrchestratorInstance"
+ ],
+ "operationId": "OrchestratorInstanceService_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "No Content."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "description": "Update Orchestrator Instance",
+ "x-ms-examples": {
+ "update Orchestrator Instance": {
+ "$ref": "./examples/patchOrchestrator.json"
+ }
+ },
+ "tags": [
+ "OrchestratorInstance"
+ ],
+ "operationId": "OrchestratorInstanceService_Patch",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OrchestratorResourceUpdateParameters"
+ },
+ "description": "OrchestratorInstance update parameters"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/Orchestrator"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DelegatedNetwork/orchestrators": {
+ "get": {
+ "tags": [
+ "OrchestratorInstanceList"
+ ],
+ "description": "Get all the orchestratorInstance resources in a subscription.",
+ "operationId": "OrchestratorInstanceService_ListBySubscription",
+ "x-ms-examples": {
+ "Get orchestratorInstance resources by subscription": {
+ "$ref": "./examples/orchestratorInstanceListBySub.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the orchestratorInstance in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/Orchestrators"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DelegatedNetwork/orchestrators": {
+ "get": {
+ "tags": [
+ "OrchestratorInstanceList"
+ ],
+ "description": "Get all the OrchestratorInstances resources in a resource group.",
+ "operationId": "OrchestratorInstanceService_ListByResourceGroup",
+ "x-ms-examples": {
+ "Get OrchestratorInstance resources by resource group": {
+ "$ref": "./examples/orchestratorInstanceListByRG.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the orchestratorInstances in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/Orchestrators"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OrchestratorResource": {
+ "description": "Represents an instance of a resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An identifier that represents the resource."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the resource."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource."
+ },
+ "kind": {
+ "type": "string",
+ "description": "The kind of workbook. Choices are user and shared.",
+ "enum": [
+ "Kubernetes"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestratorKind",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/OrchestratorIdentity",
+ "description": "The identity of the orchestrator"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "OrchestratorResourceUpdateParameters": {
+ "description": "Parameters for updating a resource.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ }
+ },
+ "Orchestrators": {
+ "description": "An array of OrchestratorInstance resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Orchestrator"
+ },
+ "description": "An array of OrchestratorInstance resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of orchestrators.",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "Orchestrator": {
+ "description": "Represents an instance of a orchestrator.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OrchestratorResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OrchestratorResourceProperties",
+ "description": "Properties of the provision operation request."
+ }
+ }
+ },
+ "OrchestratorResourceProperties": {
+ "description": "Properties of orchestrator",
+ "type": "object",
+ "properties": {
+ "resourceGuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource guid."
+ },
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestratorInstanceState",
+ "modelAsString": true
+ },
+ "readOnly": true,
+ "description": "The current state of orchestratorInstance resource."
+ },
+ "orchestratorAppId": {
+ "description": "AAD ID used with apiserver",
+ "type": "string"
+ },
+ "orchestratorTenantId": {
+ "description": "TenantID of server App ID",
+ "type": "string"
+ },
+ "clusterRootCA": {
+ "description": "RootCA certificate of kubernetes cluster base64 encoded",
+ "type": "string"
+ },
+ "apiServerEndpoint": {
+ "description": "K8s APIServer url. Either one of apiServerEndpoint or privateLinkResourceId can be specified",
+ "type": "string"
+ },
+ "privateLinkResourceId": {
+ "description": "private link arm resource id. Either one of apiServerEndpoint or privateLinkResourceId can be specified",
+ "type": "string"
+ },
+ "controllerDetails": {
+ "$ref": "./common-types.json#/definitions/controllerDetails",
+ "description": "Properties of the controller."
+ }
+ },
+ "required": [
+ "controllerDetails"
+ ]
+ },
+ "OrchestratorIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by orchestrator."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by orchestrator."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for orchestrator cluster. Type 'SystemAssigned' will use an implicitly created identity orchestrator clusters",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "resourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-z][a-z0-9]*$",
+ "minLength": 3,
+ "maxLength": 63,
+ "x-ms-parameter-location": "method",
+ "description": "The name of the resource. It must be a minimum of 3 characters, and a maximum of 63."
+ }
+ }
+}
diff --git a/specification/dnc/resource-manager/readme.azureresourceschema.md b/specification/dnc/resource-manager/readme.azureresourceschema.md
index 0032d185d4e8..e25e7e4f152a 100644
--- a/specification/dnc/resource-manager/readme.azureresourceschema.md
+++ b/specification/dnc/resource-manager/readme.azureresourceschema.md
@@ -6,12 +6,28 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-delegatednetwork-2021-03-15
- tag: schema-delegatednetwork-2020-08-08-preview
```
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-delegatednetwork-2021-03-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-delegatednetwork-2021-03-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DelegatedNetwork/stable/2021-03-15/controller.json
+ - Microsoft.DelegatedNetwork/stable/2021-03-15/orchestrators.json
+ - Microsoft.DelegatedNetwork/stable/2021-03-15/delegatedSubnets.json
+ - Microsoft.DelegatedNetwork/stable/2021-03-15/operations.json
+ - Microsoft.DelegatedNetwork/stable/2021-03-15/common-types.json
+
+```
+
### Tag: schema-delegatednetwork-2020-08-08-preview and azureresourceschema
``` yaml $(tag) == 'schema-delegatednetwork-2020-08-08-preview' && $(azureresourceschema)
diff --git a/specification/dnc/resource-manager/readme.go.md b/specification/dnc/resource-manager/readme.go.md
index 971e71d00cb0..425f17e15eea 100644
--- a/specification/dnc/resource-manager/readme.go.md
+++ b/specification/dnc/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: delegatednetwork
```
@@ -13,9 +13,19 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-03-15
- tag: package-2020-08-08-preview
```
+### Tag: package-2021-03-15 and go
+
+These settings apply only when `--tag=package-2021-03-15 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-03-15' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-03-15/$(namespace)
+```
+
### Tag: package-2020-08-08-preview and go
These settings apply only when `--tag=package-2020-08-08-preview --go` is specified on the command line.
diff --git a/specification/dnc/resource-manager/readme.java.md b/specification/dnc/resource-manager/readme.java.md
new file mode 100644
index 000000000000..d3ed2eed560d
--- /dev/null
+++ b/specification/dnc/resource-manager/readme.java.md
@@ -0,0 +1,53 @@
+# Java ADT
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Azure Digital Twins.
+
+## Java common settings
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+```yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.delegatednetwork
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-delegatednetwork
+```
+
+### Java multi-api
+
+```yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2021-03-15
+ - tag: package-2020-08-08-preview
+```
+
+### Tag: package-2021-03-15 and java
+
+These settings apply only when `--tag=package-2021-03-15 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+```yaml $(tag) == 'package-2021-03-15' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.delegatednetwork.v2021_03_15
+ output-folder: $(azure-libraries-for-java-folder)/sdk/delegatednetwork/mgmt-v2021_03_15
+ regenerate-manager: true
+ generate-interface: true
+```
+
+### Tag: package-2020-08-08-preview and java
+
+These settings apply only when `--tag=package-2020-08-08-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+```yaml $(tag) == 'package-2020-08-08-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.delegatednetwork.v2020_08_08_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/delegatednetwork/mgmt-v2020_08_08_preview
+ regenerate-manager: true
+ generate-interface: true
+```
diff --git a/specification/dnc/resource-manager/readme.md b/specification/dnc/resource-manager/readme.md
index d640a7f9891d..14f398ef2a9a 100644
--- a/specification/dnc/resource-manager/readme.md
+++ b/specification/dnc/resource-manager/readme.md
@@ -26,23 +26,37 @@ These are the global settings for the DelegatedNetwork API.
``` yaml
openapi-type: arm
-tag: package-2020-08-08-preview
+tag: package-2021-03-15
```
+### Tag: package-2021-03-15
+
+These settings apply only when `--tag=package-2021-03-15` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03-15'
+input-file:
+- Microsoft.DelegatedNetwork/stable/2021-03-15/controller.json
+- Microsoft.DelegatedNetwork/stable/2021-03-15/orchestrators.json
+- Microsoft.DelegatedNetwork/stable/2021-03-15/delegatedSubnets.json
+- Microsoft.DelegatedNetwork/stable/2021-03-15/operations.json
+- Microsoft.DelegatedNetwork/stable/2021-03-15/common-types.json
+```
+
### Tag: package-2020-08-08-preview
These settings apply only when `--tag=package-2020-08-08-preview` is specified on the command line.
``` yaml $(tag) == 'package-2020-08-08-preview'
input-file:
-- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/controller.json
-- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/orchestrators.json
-- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/delegatedSubnets.json
-- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/operations.json
-- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/common-types.json
+ - Microsoft.DelegatedNetwork/preview/2020-08-08-preview/controller.json
+ - Microsoft.DelegatedNetwork/preview/2020-08-08-preview/orchestrators.json
+ - Microsoft.DelegatedNetwork/preview/2020-08-08-preview/delegatedSubnets.json
+ - Microsoft.DelegatedNetwork/preview/2020-08-08-preview/operations.json
+ - Microsoft.DelegatedNetwork/preview/2020-08-08-preview/common-types.json
```
+
---
# Code Generation
@@ -85,6 +99,8 @@ These settings apply only when `--java` is specified on the command line.
Please also specify `--azure-libraries-for-java-folder=`.
``` yaml $(java)
+service-name: DelegatedNetwork
+
azure-arm: true
fluent: true
namespace: com.microsoft.azure.management.DelegatedNetwork
@@ -97,22 +113,36 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-DelegatedNetwork
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-03-15
- tag: package-2020-08-08-preview
```
-### Tag: package-2020-08-08-preview and java
+### Tag: package-2021-03-15 and java
-These settings apply only when `--tag=package-2020-08-08-preview --java` is specified on the command line.
+These settings apply only when `--tag=package-2021-03-15 --java` is specified on the command line.
Please also specify `--azure-libraries-for-java=`.
-``` yaml $(tag) == 'package-2020-08-08-preview' && $(java) && $(multiapi)
+``` yaml $(tag) == 'package-2021-03-15' && $(java) && $(multiapi)
java:
- namespace: com.microsoft.azure.management.DelegatedNetwork.2020-08-08-preview
- output-folder: $(azure-libraries-for-java-folder)/sdk/DelegatedNetwork/mgmt-2020-08-08-preview
+ namespace: com.microsoft.azure.management.DelegatedNetwork.2021-03-15
+ output-folder: $(azure-libraries-for-java-folder)/sdk/DelegatedNetwork/stable/mgmt-2021-03-15
regenerate-manager: true
generate-interface: true
```
+### Tag: package-2020-08-08-preview and java
+
+These settings apply only when `--tag=package-2020-08-08-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+```yaml $(tag) == 'package-2020-08-08-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.DelegatedNetwork.v2020_08_08_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/DelegatedNetwork/preview/mgmt-v2020_08_08_preview
+ regenerate-manager: true
+ generate-interface: true
+```
+
## Python
See configuration in [readme.python.md](./readme.python.md)
diff --git a/specification/dns/resource-manager/readme.go.md b/specification/dns/resource-manager/readme.go.md
index 4396709e438b..a3ec9eb84fc4 100644
--- a/specification/dns/resource-manager/readme.go.md
+++ b/specification/dns/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: dns
clear-output-folder: true
```
diff --git a/specification/dns/resource-manager/readme.md b/specification/dns/resource-manager/readme.md
index 1bc89a36ef83..e7cba84accc5 100644
--- a/specification/dns/resource-manager/readme.md
+++ b/specification/dns/resource-manager/readme.md
@@ -161,6 +161,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
after_scripts:
- python ./scripts/multiapi_init_gen.py azure-mgmt-dns
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-node
@@ -178,6 +179,10 @@ swagger-to-sdk:
See configuration in [readme.go.md](./readme.go.md)
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## Java
These settings apply only when `--java` is specified on the command line.
diff --git a/specification/dns/resource-manager/readme.python.md b/specification/dns/resource-manager/readme.python.md
index 79d57047a499..8e1f1387d5fd 100644
--- a/specification/dns/resource-manager/readme.python.md
+++ b/specification/dns/resource-manager/readme.python.md
@@ -2,7 +2,7 @@
These settings apply only when `--python` is specified on the command line.
-```yaml $(python)
+```yaml $(python) && !$(track2)
python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
@@ -12,15 +12,40 @@ python:
no-namespace-folders: true
```
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-dns
+no-namespace-folders: true
+package-version: 1.0.0b1
+modelerfour:
+ lenient-model-deduplication: true
+```
+
### Python multi-api
Generate all API versions currently shipped for this package
-```yaml $(python) && $(multiapi)
+```yaml $(python) && $(multiapi) && !$(track2)
+batch:
+ - tag: package-2018-05
+ - tag: package-2018-03-preview
+ - tag: package-2016-04
+```
+
+```yaml $(python) && $(multiapi) && $(track2)
+clear-output-folder: true
batch:
- tag: package-2018-05
- tag: package-2018-03-preview
- tag: package-2016-04
+ - multiapiscript: true
+```
+
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/
+clear-output-folder: false
+perform-load: false
```
### Tag: package-2018-05 and python
@@ -28,30 +53,45 @@ batch:
These settings apply only when `--tag=package-2018-05 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2018-05' && $(python)
+``` yaml $(tag) == 'package-2018-05' && $(python) && !$(track2)
python:
namespace: azure.mgmt.dns.v2018_05_01
output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_05_01
```
+``` yaml $(tag) == 'package-2018-05' && $(python) && $(track2)
+namespace: azure.mgmt.dns.v2018_05_01
+output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_05_01
+```
+
### Tag: package-2018-03-preview and python
These settings apply only when `--tag=package-2018-03-preview --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2018-03-preview' && $(python)
+``` yaml $(tag) == 'package-2018-03-preview' && $(python) && !$(track2)
python:
namespace: azure.mgmt.dns.v2018_03_01_preview
output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_03_01_preview
```
+``` yaml $(tag) == 'package-2018-03-preview' && $(python) && $(track2)
+namespace: azure.mgmt.dns.v2018_03_01_preview
+output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_03_01_preview
+```
+
### Tag: package-2016-04 and python
These settings apply only when `--tag=package-2016-04 --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2016-04' && $(python)
+``` yaml $(tag) == 'package-2016-04' && $(python) && !$(track2)
python:
namespace: azure.mgmt.dns.v2016_04_01
output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2016_04_01
```
+
+``` yaml $(tag) == 'package-2016-04' && $(python) && $(track2)
+namespace: azure.mgmt.dns.v2016_04_01
+output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2016_04_01
+```
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/domainservices.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/domainservices.json
new file mode 100644
index 000000000000..95068505ec49
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/domainservices.json
@@ -0,0 +1,1038 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Domain Services Resource Provider",
+ "description": "The AAD Domain Services API.",
+ "version": "2021-03-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.AAD/operations": {
+ "get": {
+ "tags": [
+ "DomainServices"
+ ],
+ "description": "Lists all the available Domain Services operations.",
+ "operationId": "DomainServiceOperations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AAD/domainServices": {
+ "get": {
+ "tags": [
+ "DomainServices"
+ ],
+ "operationId": "DomainServices_List",
+ "summary": "List Domain Services in Subscription",
+ "description": "The List Domain Services in Subscription operation lists all the domain services available under the given subscription (and across all resource groups within that subscription).",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DomainServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Domain Service": {
+ "$ref": "./examples/ListDomainServicesBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices": {
+ "get": {
+ "tags": [
+ "DomainServices"
+ ],
+ "operationId": "DomainServices_ListByResourceGroup",
+ "summary": "List Domain Services in Resource Group",
+ "description": "The List Domain Services in Resource Group operation lists all the domain services available under the given resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DomainServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Domain Service": {
+ "$ref": "./examples/ListDomainServicesByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AAD/domainServices/{domainServiceName}": {
+ "put": {
+ "tags": [
+ "DomainServices"
+ ],
+ "operationId": "DomainServices_CreateOrUpdate",
+ "summary": "Create or Update Domain Service (PUT Resource)",
+ "description": "The Create Domain Service operation creates a new domain service with the specified parameters. If the specific service already exists, then any patchable properties will be updated and any immutable properties will remain unchanged.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "name": "domainService",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DomainService"
+ },
+ "description": "Properties supplied to the Create or Update a Domain Service operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DomainService"
+ }
+ },
+ "201": {
+ "description": "HTTP 201 (Created) if the operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/DomainService"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DomainService"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create Domain Service": {
+ "$ref": "./examples/CreateDomainService.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DomainServices"
+ ],
+ "operationId": "DomainServices_Get",
+ "summary": "Get Domain Service",
+ "description": "The Get Domain Service operation retrieves a json representation of the Domain Service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DomainService"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Domain Service": {
+ "$ref": "./examples/GetDomainService.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DomainServices"
+ ],
+ "operationId": "DomainServices_Delete",
+ "summary": "Delete Domain Service (DELETE Resource)",
+ "description": "The Delete Domain Service operation deletes an existing Domain Service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Domain Service": {
+ "$ref": "./examples/DeleteDomainService.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DomainServices"
+ ],
+ "operationId": "DomainServices_Update",
+ "summary": "Update Domain Service (PATCH Resource)",
+ "description": "The Update Domain Service operation can be used to update the existing deployment. The update call only supports the properties listed in the PATCH body.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "name": "domainService",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DomainService"
+ },
+ "description": "Properties supplied to the Update a Domain Service operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/DomainService"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/DomainService"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Domain Service": {
+ "$ref": "./examples/UpdateDomainService.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Resource etag"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DomainService": {
+ "description": "Domain service.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DomainServiceProperties",
+ "description": "Domain service properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "DomainServiceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DomainService"
+ },
+ "description": "the list of domain services."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Domain Services operation."
+ },
+ "DomainServiceProperties": {
+ "description": "Properties of the Domain Service.",
+ "properties": {
+ "version": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Data Model Version"
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure Active Directory Tenant Id"
+ },
+ "domainName": {
+ "type": "string",
+ "description": "The name of the Azure domain that the user would like to deploy Domain Services to."
+ },
+ "deploymentId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Deployment Id"
+ },
+ "syncOwner": {
+ "readOnly": true,
+ "type": "string",
+ "description": "SyncOwner ReplicaSet Id"
+ },
+ "replicaSets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReplicaSet",
+ "description": "ReplicaSet"
+ },
+ "description": "List of ReplicaSets"
+ },
+ "ldapsSettings": {
+ "$ref": "#/definitions/LdapsSettings",
+ "description": "Secure LDAP Settings"
+ },
+ "resourceForestSettings": {
+ "$ref": "#/definitions/ResourceForestSettings",
+ "description": "Resource Forest Settings"
+ },
+ "domainSecuritySettings": {
+ "$ref": "#/definitions/DomainSecuritySettings",
+ "description": "DomainSecurity Settings"
+ },
+ "domainConfigurationType": {
+ "type": "string",
+ "description": "Domain Configuration Type"
+ },
+ "sku": {
+ "type": "string",
+ "description": "Sku Type"
+ },
+ "filteredSync": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "description": "Enabled or Disabled flag to turn on Group-based filtered sync",
+ "x-ms-enum": {
+ "name": "FilteredSync",
+ "modelAsString": true
+ }
+ },
+ "notificationSettings": {
+ "$ref": "#/definitions/NotificationSettings",
+ "description": "Notification Settings"
+ },
+ "migrationProperties": {
+ "readOnly": true,
+ "$ref": "#/definitions/MigrationProperties",
+ "description": "Migration Properties"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "the current deployment or provisioning state, which only appears in the response."
+ }
+ }
+ },
+ "ReplicaSet": {
+ "description": "Replica Set Definition",
+ "properties": {
+ "replicaSetId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "ReplicaSet Id"
+ },
+ "location": {
+ "type": "string",
+ "description": "Virtual network location"
+ },
+ "vnetSiteId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Virtual network site id"
+ },
+ "subnetId": {
+ "type": "string",
+ "description": "The name of the virtual network that Domain Services will be deployed on. The id of the subnet that Domain Services will be deployed on. /virtualNetwork/vnetName/subnets/subnetName."
+ },
+ "domainControllerIpAddress": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Domain Controller IP Address"
+ },
+ "description": "List of Domain Controller IP Address"
+ },
+ "externalAccessIpAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "External access ip address."
+ },
+ "serviceStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Status of Domain Service instance"
+ },
+ "healthLastEvaluated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "description": "Last domain evaluation run DateTime"
+ },
+ "healthMonitors": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthMonitor",
+ "description": "Domain Health Monitors"
+ },
+ "description": "List of Domain Health Monitors"
+ },
+ "healthAlerts": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthAlert",
+ "description": "Domain Health Alerts"
+ },
+ "description": "List of Domain Health Alerts"
+ }
+ }
+ },
+ "LdapsSettings": {
+ "description": "Secure LDAP Settings",
+ "properties": {
+ "ldaps": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Disabled",
+ "description": "A flag to determine whether or not Secure LDAP is enabled or disabled.",
+ "x-ms-enum": {
+ "name": "Ldaps",
+ "modelAsString": true
+ }
+ },
+ "pfxCertificate": {
+ "type": "string",
+ "description": "The certificate required to configure Secure LDAP. The parameter passed here should be a base64encoded representation of the certificate pfx file."
+ },
+ "pfxCertificatePassword": {
+ "type": "string",
+ "description": "The password to decrypt the provided Secure LDAP certificate pfx file."
+ },
+ "publicCertificate": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Public certificate used to configure secure ldap."
+ },
+ "certificateThumbprint": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Thumbprint of configure ldaps certificate."
+ },
+ "certificateNotAfter": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "NotAfter DateTime of configure ldaps certificate."
+ },
+ "externalAccess": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Disabled",
+ "description": "A flag to determine whether or not Secure LDAP access over the internet is enabled or disabled.",
+ "x-ms-enum": {
+ "name": "ExternalAccess",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "HealthMonitor": {
+ "description": "Health Monitor Description",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Health Monitor Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Health Monitor Name"
+ },
+ "details": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Health Monitor Details"
+ }
+ }
+ },
+ "HealthAlert": {
+ "description": "Health Alert Description",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Health Alert Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Health Alert Name"
+ },
+ "issue": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Health Alert Issue"
+ },
+ "severity": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Health Alert Severity"
+ },
+ "raised": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Health Alert Raised DateTime"
+ },
+ "lastDetected": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Health Alert Last Detected DateTime"
+ },
+ "resolutionUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Health Alert TSG Link"
+ }
+ }
+ },
+ "NotificationSettings": {
+ "description": "Settings for notification",
+ "properties": {
+ "notifyGlobalAdmins": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "description": "Should global admins be notified",
+ "x-ms-enum": {
+ "name": "notifyGlobalAdmins",
+ "modelAsString": true
+ }
+ },
+ "notifyDcAdmins": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "description": "Should domain controller admins be notified",
+ "x-ms-enum": {
+ "name": "notifyDcAdmins",
+ "modelAsString": true
+ }
+ },
+ "additionalRecipients": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "Email address for additional recipient"
+ },
+ "description": "The list of additional recipients"
+ }
+ }
+ },
+ "ResourceForestSettings": {
+ "description": "Settings for Resource Forest",
+ "properties": {
+ "settings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ForestTrust"
+ },
+ "description": "List of settings for Resource Forest"
+ },
+ "resourceForest": {
+ "type": "string",
+ "description": "Resource Forest"
+ }
+ }
+ },
+ "ForestTrust": {
+ "description": "Forest Trust Setting",
+ "properties": {
+ "trustedDomainFqdn": {
+ "type": "string",
+ "description": "Trusted Domain FQDN"
+ },
+ "trustDirection": {
+ "type": "string",
+ "description": "Trust Direction"
+ },
+ "friendlyName": {
+ "type": "string",
+ "description": "Friendly Name"
+ },
+ "remoteDnsIps": {
+ "type": "string",
+ "description": "Remote Dns ips"
+ },
+ "trustPassword": {
+ "type": "string",
+ "description": "Trust Password",
+ "x-ms-secret": true
+ }
+ }
+ },
+ "MigrationProperties": {
+ "description": "Migration Properties",
+ "properties": {
+ "oldSubnetId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Old Subnet Id"
+ },
+ "oldVnetSiteId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Old Vnet Site Id"
+ },
+ "migrationProgress": {
+ "readOnly": true,
+ "$ref": "#/definitions/MigrationProgress",
+ "description": "Migration Progress"
+ }
+ }
+ },
+ "MigrationProgress": {
+ "description": "Migration Progress",
+ "properties": {
+ "completionPercentage": {
+ "type": "number",
+ "format": "double",
+ "description": "Completion Percentage"
+ },
+ "progressMessage": {
+ "type": "string",
+ "description": "Progress Message"
+ }
+ }
+ },
+ "DomainSecuritySettings": {
+ "description": "Domain Security Settings",
+ "properties": {
+ "ntlmV1": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Enabled",
+ "description": "A flag to determine whether or not NtlmV1 is enabled or disabled.",
+ "x-ms-enum": {
+ "name": "NtlmV1",
+ "modelAsString": true
+ }
+ },
+ "tlsV1": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Enabled",
+ "description": "A flag to determine whether or not TlsV1 is enabled or disabled.",
+ "x-ms-enum": {
+ "name": "TlsV1",
+ "modelAsString": true
+ }
+ },
+ "syncNtlmPasswords": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Enabled",
+ "description": "A flag to determine whether or not SyncNtlmPasswords is enabled or disabled.",
+ "x-ms-enum": {
+ "name": "SyncNtlmPasswords",
+ "modelAsString": true
+ }
+ },
+ "syncKerberosPasswords": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Enabled",
+ "description": "A flag to determine whether or not SyncKerberosPasswords is enabled or disabled.",
+ "x-ms-enum": {
+ "name": "SyncKerberosPasswords",
+ "modelAsString": true
+ }
+ },
+ "syncOnPremPasswords": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Enabled",
+ "description": "A flag to determine whether or not SyncOnPremPasswords is enabled or disabled.",
+ "x-ms-enum": {
+ "name": "SyncOnPremPasswords",
+ "modelAsString": true
+ }
+ },
+ "kerberosRc4Encryption": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Enabled",
+ "description": "A flag to determine whether or not KerberosRc4Encryption is enabled or disabled.",
+ "x-ms-enum": {
+ "name": "KerberosRc4Encryption",
+ "modelAsString": true
+ }
+ },
+ "kerberosArmoring": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "default": "Disabled",
+ "description": "A flag to determine whether or not KerberosArmoring is enabled or disabled.",
+ "x-ms-enum": {
+ "name": "KerberosArmoring",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "description": "An error response from the Domain Services.",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Domain Services."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Domain Services."
+ },
+ "OperationEntityListResult": {
+ "description": "The list of domain service operation response.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "The operation supported by Domain Services.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The operation supported by Domain Services."
+ },
+ "origin": {
+ "description": "The origin of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The operation supported by Domain Services.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Service provider: Domain Services.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group within the user's subscription. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "DomainServiceNameParameter": {
+ "name": "domainServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the domain service.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/CreateDomainService.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/CreateDomainService.json
new file mode 100644
index 000000000000..d379ae5471d4
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/CreateDomainService.json
@@ -0,0 +1,181 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "TestResourceGroup",
+ "domainServiceName": "TestDomainService.com",
+ "domainService": {
+ "properties": {
+ "domainName": "TestDomainService.com",
+ "replicaSets": [
+ {
+ "location": "West US",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS"
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "pfxCertificate": "MIIDPDCCAiSgAwIBAgIQQUI9P6tq2p9OFIJa7DLNvTANBgkqhkiG9w0BAQsFADAgMR4w...",
+ "pfxCertificatePassword": "",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestResourceGroup/providers/Microsoft.AAD/DomainServices/TestDomainService.com",
+ "name": "TestDomainService.com",
+ "type": "Microsoft.AAD/DomainServices",
+ "properties": {
+ "version": 2,
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "TestDomainService.com",
+ "deploymentId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "syncOwner": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "replicaSets": [
+ {
+ "replicaSetId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "location": "West US",
+ "vnetSiteId": "99083198-a39c-469f-972d-59017e7f078c",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS",
+ "domainControllerIpAddress": [
+ "10.0.0.1",
+ "10.0.0.2"
+ ],
+ "externalAccessIpAddress": "13.64.148.151",
+ "serviceStatus": "Running"
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "publicCertificate": "MIIDPDCCAiSgAwIBAgIQQUI9P6tq2p9OFIJa7DLNvTANBgkqhkiG9w0BAQsFADAgMR4w...",
+ "certificateThumbprint": "9154A390F0C387D679E0DD040701745CDFED67F3",
+ "certificateNotAfter": "2018-02-15T21:43:21Z",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "description": "HTTP 201 (Created) if the operation completed successfully.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestResourceGroup/providers/Microsoft.AAD/DomainServices/TestDomainService.com",
+ "name": "TestDomainService.com",
+ "type": "Microsoft.AAD/DomainServices",
+ "properties": {
+ "version": 2,
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "TestDomainService.com",
+ "deploymentId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "syncOwner": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "replicaSets": [
+ {
+ "replicaSetId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "location": "West US",
+ "vnetSiteId": "99083198-a39c-469f-972d-59017e7f078c",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS",
+ "domainControllerIpAddress": [
+ "10.0.0.1",
+ "10.0.0.2"
+ ],
+ "externalAccessIpAddress": "13.64.148.151",
+ "serviceStatus": "Running"
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "publicCertificate": "MIIDPDCCAiSgAwIBAgIQQUI9P6tq2p9OFIJa7DLNvTANBgkqhkiG9w0BAQsFADAgMR4w...",
+ "certificateThumbprint": "9154A390F0C387D679E0DD040701745CDFED67F3",
+ "certificateNotAfter": "2018-02-15T21:43:21Z",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestResourceGroup/providers/Microsoft.AAD/DomainServices/TestDomainService.com",
+ "name": "TestDomainService.com",
+ "type": "Microsoft.AAD/DomainServices",
+ "properties": {
+ "version": 2,
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "TestDomainService.com",
+ "replicaSets": [
+ {
+ "location": "West US",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS"
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/CreateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/CreateOuContainer.json
new file mode 100644
index 000000000000..7f434016e9cd
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/CreateOuContainer.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1",
+ "containerAccount": {
+ "accountName": "AccountName1",
+ "spn": "Spn1",
+ "password": ""
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "description": "HTTP 201 (Created) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/DeleteDomainService.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/DeleteDomainService.json
new file mode 100644
index 000000000000..7c8f7f479605
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/DeleteDomainService.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "TestResourceGroup",
+ "domainServiceName": "TestDomainService.com"
+ },
+ "responses": {
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed."
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/DeleteOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/DeleteOuContainer.json
new file mode 100644
index 000000000000..0456d858fadf
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/DeleteOuContainer.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful."
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed."
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/GetDomainService.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/GetDomainService.json
new file mode 100644
index 000000000000..6d18688a51e7
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/GetDomainService.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "TestResourceGroup",
+ "domainServiceName": "TestDomainService.com"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestResourceGroup/providers/Microsoft.AAD/DomainServices/TestDomainService.com",
+ "name": "TestDomainService.com",
+ "type": "Microsoft.AAD/DomainServices",
+ "properties": {
+ "version": 2,
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "TestDomainService.com",
+ "deploymentId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "syncOwner": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "replicaSets": [
+ {
+ "replicaSetId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "location": "West US",
+ "vnetSiteId": "99083198-a39c-469f-972d-59017e7f078c",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS",
+ "domainControllerIpAddress": [
+ "10.0.0.1",
+ "10.0.0.2"
+ ],
+ "externalAccessIpAddress": "13.64.148.151",
+ "serviceStatus": "Running",
+ "healthLastEvaluated": "2018-02-15T21:43:21Z",
+ "healthMonitors": [
+ {
+ "id": "AADDS501",
+ "name": "Backup",
+ "details": "Last backed up on Tue, 18 Sep 2018 03:37:04 GMT"
+ },
+ {
+ "id": "AADDS500",
+ "name": "Synchronization with Azure AD",
+ "details": "Synchronized on Tue, 18 Sep 2018 16:47:57 GMT."
+ }
+ ],
+ "healthAlerts": [
+ {
+ "id": "AADDS104",
+ "name": "The managed domain is experiencing a network error",
+ "issue": "Microsoft is unable to reach the domain controllers for this managed domain. This may happen if a network security group (NSG) configured on your virtual network blocks access to the managed domain. Another possible reason is if there is a user defined route that blocks incoming traffic from the internet.",
+ "severity": "2",
+ "raised": "2018-09-18T01:55:40.7834289Z",
+ "lastDetected": "2018-09-18T17:46:39.2697888Z",
+ "resolutionUri": "https://aka.ms/aadds-neterr"
+ }
+ ]
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "publicCertificate": "MIIDPDCCAiSgAwIBAgIQQUI9P6tq2p9OFIJa7DLNvTANBgkqhkiG9w0BAQsFADAgMR4w...",
+ "certificateThumbprint": "9154A390F0C387D679E0DD040701745CDFED67F3",
+ "certificateNotAfter": "2018-02-15T21:43:21Z",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/GetOperations.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/GetOperations.json
new file mode 100644
index 000000000000..b2e945fc2047
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/GetOperations.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AAD/unregister/action",
+ "display": {
+ "provider": "Domain Services Resource Provider",
+ "resource": "Domain Service Type",
+ "operation": "Unregister Domain Service",
+ "description": "Unregisters Domain Services"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AAD/register/action",
+ "display": {
+ "provider": "Domain Services Resource Provider",
+ "resource": "Domain Service Type",
+ "operation": "Register Domain Service",
+ "description": "Registers Domain Services"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AAD/domainServices/read",
+ "display": {
+ "provider": "Domain Services Resource Provider",
+ "resource": "Domain Service Type",
+ "operation": "Read Domain Service",
+ "description": "Reads Domain Services"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AAD/domainServices/write",
+ "display": {
+ "provider": "Domain Services Resource Provider",
+ "resource": "Domain Service Type",
+ "operation": "Write Domain Service",
+ "description": "Writes Domain Services"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.AAD/domainServices/delete",
+ "display": {
+ "provider": "Domain Services Resource Provider",
+ "resource": "Domain Service Type",
+ "operation": "Delete Domain Service",
+ "description": "Deletes Domain Services"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/GetOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/GetOuContainer.json
new file mode 100644
index 000000000000..dd3326ec26a8
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/GetOuContainer.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/ListDomainServicesByResourceGroup.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/ListDomainServicesByResourceGroup.json
new file mode 100644
index 000000000000..fc205fb008db
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/ListDomainServicesByResourceGroup.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "TestResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestResourceGroup/providers/Microsoft.AAD/DomainServices/TestDomainService.com",
+ "name": "TestDomainService.com",
+ "type": "Microsoft.AAD/DomainServices",
+ "properties": {
+ "version": 2,
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "TestDomainService.com",
+ "deploymentId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "syncOwner": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "replicaSets": [
+ {
+ "replicaSetId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "location": "West US",
+ "vnetSiteId": "99083198-a39c-469f-972d-59017e7f078c",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS",
+ "domainControllerIpAddress": [
+ "10.0.0.1",
+ "10.0.0.2"
+ ],
+ "externalAccessIpAddress": "13.64.148.151",
+ "serviceStatus": "Running",
+ "healthLastEvaluated": "2018-02-15T21:43:21Z",
+ "healthMonitors": [
+ {
+ "id": "AADDS501",
+ "name": "Backup",
+ "details": "Last backed up on Tue, 18 Sep 2018 03:37:04 GMT"
+ },
+ {
+ "id": "AADDS500",
+ "name": "Synchronization with Azure AD",
+ "details": "Synchronized on Tue, 18 Sep 2018 16:47:57 GMT."
+ }
+ ],
+ "healthAlerts": [
+ {
+ "id": "AADDS104",
+ "name": "The managed domain is experiencing a network error",
+ "issue": "Microsoft is unable to reach the domain controllers for this managed domain. This may happen if a network security group (NSG) configured on your virtual network blocks access to the managed domain. Another possible reason is if there is a user defined route that blocks incoming traffic from the internet.",
+ "severity": "2",
+ "raised": "2018-09-18T01:55:40.7834289Z",
+ "lastDetected": "2018-09-18T17:46:39.2697888Z",
+ "resolutionUri": "https://aka.ms/aadds-neterr"
+ }
+ ]
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "publicCertificate": "MIIDPDCCAiSgAwIBAgIQQUI9P6tq2p9OFIJa7DLNvTANBgkqhkiG9w0BAQsFADAgMR4w...",
+ "certificateThumbprint": "9154A390F0C387D679E0DD040701745CDFED67F3",
+ "certificateNotAfter": "2018-02-15T21:43:21Z",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/ListDomainServicesBySubscription.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/ListDomainServicesBySubscription.json
new file mode 100644
index 000000000000..c63945a218e4
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/ListDomainServicesBySubscription.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestResourceGroup/providers/Microsoft.AAD/DomainServices/TestDomainService.com",
+ "name": "TestDomainService.com",
+ "type": "Microsoft.AAD/DomainServices",
+ "properties": {
+ "version": 2,
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "TestDomainService.com",
+ "deploymentId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "syncOwner": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "replicaSets": [
+ {
+ "replicaSetId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "location": "West US",
+ "vnetSiteId": "99083198-a39c-469f-972d-59017e7f078c",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS",
+ "domainControllerIpAddress": [
+ "10.0.0.1",
+ "10.0.0.2"
+ ],
+ "externalAccessIpAddress": "13.64.148.151",
+ "serviceStatus": "Running",
+ "healthLastEvaluated": "2018-02-15T21:43:21Z",
+ "healthMonitors": [
+ {
+ "id": "AADDS501",
+ "name": "Backup",
+ "details": "Last backed up on Tue, 18 Sep 2018 03:37:04 GMT"
+ },
+ {
+ "id": "AADDS500",
+ "name": "Synchronization with Azure AD",
+ "details": "Synchronized on Tue, 18 Sep 2018 16:47:57 GMT."
+ }
+ ],
+ "healthAlerts": [
+ {
+ "id": "AADDS104",
+ "name": "The managed domain is experiencing a network error",
+ "issue": "Microsoft is unable to reach the domain controllers for this managed domain. This may happen if a network security group (NSG) configured on your virtual network blocks access to the managed domain. Another possible reason is if there is a user defined route that blocks incoming traffic from the internet.",
+ "severity": "2",
+ "raised": "2018-09-18T01:55:40.7834289Z",
+ "lastDetected": "2018-09-18T17:46:39.2697888Z",
+ "resolutionUri": "https://aka.ms/aadds-neterr"
+ }
+ ]
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "publicCertificate": "MIIDPDCCAiSgAwIBAgIQQUI9P6tq2p9OFIJa7DLNvTANBgkqhkiG9w0BAQsFADAgMR4w...",
+ "certificateThumbprint": "9154A390F0C387D679E0DD040701745CDFED67F3",
+ "certificateNotAfter": "2018-02-15T21:43:21Z",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/ListOuContainers.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/ListOuContainers.json
new file mode 100644
index 000000000000..4086edb22c11
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/ListOuContainers.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer2",
+ "name": "OuContainer.com/OuContainer2",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer2",
+ "accounts": [
+ {
+ "accountName": "AccountName3",
+ "spn": "Spn3"
+ },
+ {
+ "accountName": "AccountName4",
+ "spn": "Spn4"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/UpdateDomainService.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/UpdateDomainService.json
new file mode 100644
index 000000000000..c34d043bcecb
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/UpdateDomainService.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "TestResourceGroup",
+ "domainServiceName": "TestDomainService.com",
+ "domainService": {
+ "properties": {
+ "replicaSets": [
+ {
+ "location": "West US",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS"
+ },
+ {
+ "location": "East US",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetEUS/subnets/TestSubnetEUS"
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "pfxCertificate": "MIIDPDCCAiSgAwIBAgIQQUI9P6tq2p9OFIJa7DLNvTANBgkqhkiG9w0BAQsFADAgMR4w...",
+ "pfxCertificatePassword": "",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestResourceGroup/providers/Microsoft.AAD/DomainServices/TestDomainService.com",
+ "name": "TestDomainService.com",
+ "type": "Microsoft.AAD/DomainServices",
+ "properties": {
+ "version": 2,
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "TestDomainService.com",
+ "deploymentId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "syncOwner": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "replicaSets": [
+ {
+ "replicaSetId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "location": "West US",
+ "vnetSiteId": "99083198-a39c-469f-972d-59017e7f078c",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS",
+ "domainControllerIpAddress": [
+ "10.0.0.1",
+ "10.0.0.2"
+ ],
+ "externalAccessIpAddress": "13.64.148.151",
+ "serviceStatus": "Running"
+ },
+ {
+ "replicaSetId": "5057347d-cad1-4ec8-8db6-66cf7eedf4b8",
+ "location": "East US",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetEUS/subnets/TestSubnetEUS",
+ "domainControllerIpAddress": [
+ "10.0.0.3",
+ "10.0.0.4"
+ ],
+ "externalAccessIpAddress": "13.64.148.152",
+ "serviceStatus": "Running"
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "publicCertificate": "MIIDPDCCAiSgAwIBAgIQQUI9P6tq2p9OFIJa7DLNvTANBgkqhkiG9w0BAQsFADAgMR4w...",
+ "certificateThumbprint": "9154A390F0C387D679E0DD040701745CDFED67F3",
+ "certificateNotAfter": "2018-02-15T21:43:21Z",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestResourceGroup/providers/Microsoft.AAD/DomainServices/TestDomainService.com",
+ "name": "TestDomainService.com",
+ "type": "Microsoft.AAD/DomainServices",
+ "properties": {
+ "version": 2,
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "TestDomainService.com",
+ "deploymentId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "syncOwner": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "replicaSets": [
+ {
+ "replicaSetId": "4a619871-0150-41c4-aeb4-0b10deb7940a",
+ "location": "West US",
+ "vnetSiteId": "99083198-a39c-469f-972d-59017e7f078c",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetWUS/subnets/TestSubnetWUS",
+ "domainControllerIpAddress": [
+ "10.0.0.1",
+ "10.0.0.2"
+ ],
+ "serviceStatus": "Running"
+ },
+ {
+ "location": "East US",
+ "subnetId": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/TestNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/TestVnetEUS/subnets/TestSubnetEUS"
+ }
+ ],
+ "ldapsSettings": {
+ "ldaps": "Enabled",
+ "publicCertificate": "MIIDPDCCAiSgAwIBAgIQQUI9P6tq2p9OFIJa7DLNvTANBgkqhkiG9w0BAQsFADAgMR4w...",
+ "certificateThumbprint": "9154A390F0C387D679E0DD040701745CDFED67F3",
+ "certificateNotAfter": "2018-02-15T21:43:21Z",
+ "externalAccess": "Enabled"
+ },
+ "domainSecuritySettings": {
+ "ntlmV1": "Enabled",
+ "tlsV1": "Disabled",
+ "syncNtlmPasswords": "Enabled"
+ },
+ "filteredSync": "Enabled",
+ "notificationSettings": {
+ "notifyGlobalAdmins": "Enabled",
+ "notifyDcAdmins": "Enabled",
+ "additionalRecipients": [
+ "jicha@microsoft.com",
+ "caalmont@microsoft.com"
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/UpdateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/UpdateOuContainer.json
new file mode 100644
index 000000000000..f988fe56fa0c
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/examples/UpdateOuContainer.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-03-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1",
+ "containerAccount": {
+ "accountName": "AccountName1",
+ "spn": "Spn1",
+ "password": ""
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/oucontainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/oucontainer.json
new file mode 100644
index 000000000000..ea6954575cfb
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2021-03-01/oucontainer.json
@@ -0,0 +1,613 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Domain Services Resource Provider",
+ "description": "The AAD Domain Services API.",
+ "version": "2021-03-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Aad/operations": {
+ "get": {
+ "tags": [
+ "OuContainer"
+ ],
+ "description": "Lists all the available OuContainer operations.",
+ "operationId": "OuContainerOperations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer": {
+ "get": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_List",
+ "summary": "List of OuContainers in DomainService instance",
+ "description": "The List of OuContainers in DomainService instance.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainerListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List of OuContainers": {
+ "$ref": "./examples/ListOuContainers.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer/{ouContainerName}": {
+ "get": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Get",
+ "summary": "Get particular OuContainer in DomainService instance",
+ "description": "Get OuContainer in DomainService instance.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List of OuContainers": {
+ "$ref": "./examples/GetOuContainer.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Create",
+ "summary": "Create OuContainer",
+ "description": "The Create OuContainer operation creates a new OuContainer under the specified Domain Service instance.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ },
+ {
+ "name": "containerAccount",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerAccount"
+ },
+ "description": "Container Account Description."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ },
+ "201": {
+ "description": "HTTP 201 (Created) if the operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create Domain Service": {
+ "$ref": "./examples/CreateOuContainer.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Delete",
+ "summary": "Delete OuContainer",
+ "description": "The Delete OuContainer operation deletes specified OuContainer.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful."
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete OuContainer": {
+ "$ref": "./examples/DeleteOuContainer.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Update",
+ "summary": "Update OuContainer (PATCH Resource)",
+ "description": "The Update OuContainer operation can be used to update the existing OuContainers.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ },
+ {
+ "name": "containerAccount",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerAccount"
+ },
+ "description": "Container Account Description."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Domain Service": {
+ "$ref": "./examples/UpdateOuContainer.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Resource etag"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "OuContainerListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OuContainer"
+ },
+ "description": "The list of OuContainer."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List OuContainer operation."
+ },
+ "OuContainer": {
+ "description": "Resource for OuContainer.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OuContainerProperties",
+ "description": "OuContainer properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "OuContainerProperties": {
+ "description": "Properties of the OuContainer.",
+ "properties": {
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure Active Directory tenant id"
+ },
+ "domainName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The domain name of Domain Services."
+ },
+ "deploymentId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Deployment id"
+ },
+ "containerId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The OuContainer name"
+ },
+ "accounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerAccount",
+ "description": "Container Account"
+ },
+ "description": "The list of container accounts"
+ },
+ "serviceStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Status of OuContainer instance"
+ },
+ "distinguishedName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Distinguished Name of OuContainer instance"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ }
+ }
+ },
+ "ContainerAccount": {
+ "description": "Container Account Description",
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "description": "The account name"
+ },
+ "spn": {
+ "type": "string",
+ "description": "The account spn"
+ },
+ "password": {
+ "type": "string",
+ "description": "The account password"
+ }
+ }
+ },
+ "OperationEntityListResult": {
+ "description": "The list of domain service operation response.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "The operation supported by Domain Services.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The operation supported by Domain Services."
+ },
+ "origin": {
+ "description": "The origin of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The operation supported by Domain Services.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Service provider: Domain Services.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "description": "An error response from the Domain Services.",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Domain Services."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Domain Services."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group within the user's subscription. The name is case insensitive.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ },
+ "DomainServiceNameParameter": {
+ "name": "domainServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the domain service.",
+ "x-ms-parameter-location": "method"
+ },
+ "OuContainerNameParameter": {
+ "name": "ouContainerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the OuContainer.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/readme.azureresourceschema.md b/specification/domainservices/resource-manager/readme.azureresourceschema.md
index 24b8ecacf69b..f57acd74de59 100644
--- a/specification/domainservices/resource-manager/readme.azureresourceschema.md
+++ b/specification/domainservices/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-aad-2021-03-01
- tag: schema-aad-2020-01-01
- tag: schema-aad-2017-06-01
- tag: schema-aad-2017-01-01
@@ -14,6 +15,18 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-aad-2021-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-aad-2021-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AAD/stable/2021-03-01/domainservices.json
+ - Microsoft.AAD/stable/2021-03-01/oucontainer.json
+
+```
+
### Tag: schema-aad-2020-01-01 and azureresourceschema
``` yaml $(tag) == 'schema-aad-2020-01-01' && $(azureresourceschema)
diff --git a/specification/domainservices/resource-manager/readme.go.md b/specification/domainservices/resource-manager/readme.go.md
index b741b3bced53..7bfc4c1db9fa 100644
--- a/specification/domainservices/resource-manager/readme.go.md
+++ b/specification/domainservices/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: aad
clear-output-folder: true
```
diff --git a/specification/domainservices/resource-manager/readme.md b/specification/domainservices/resource-manager/readme.md
index 32216577ffbb..38cddc34aeb9 100644
--- a/specification/domainservices/resource-manager/readme.md
+++ b/specification/domainservices/resource-manager/readme.md
@@ -29,6 +29,16 @@ openapi-type: arm
tag: package-2020-01
```
+### Tag: package-2021-03
+
+These settings apply only when `--tag=package-2021-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03'
+input-file:
+- Microsoft.AAD/stable/2021-03-01/domainservices.json
+- Microsoft.AAD/stable/2021-03-01/oucontainer.json
+```
+
### Tag: package-2020-01
These settings apply only when `--tag=package-2020-01` is specified on the command line.
@@ -113,11 +123,25 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-domainservices
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-03
- tag: package-2020-01
- tag: package-2017-06
- tag: package-2017-01
```
+### Tag: package-2021-03 and java
+
+These settings apply only when `--tag=package-2021-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.domainservices.v2021_03_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2021_03_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2020-01 and java
These settings apply only when `--tag=package-2020-01 --java` is specified on the command line.
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
index 1aa94ab49e3b..186bee071977 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
@@ -297,13 +297,13 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orderCollections": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orders": {
"get": {
"tags": [
- "OrderCollections"
+ "Orders"
],
- "description": "Lists order collections at subscription level.",
- "operationId": "ListOrderCollectionsAtSubscriptionLevel",
+ "description": "Lists order at subscription level.",
+ "operationId": "ListOrderAtSubscriptionLevel",
"consumes": [
"application/json"
],
@@ -320,16 +320,16 @@
{
"name": "$skipToken",
"in": "query",
- "description": "$skipToken is supported on Get list of order collections, which provides the next page in the list of order collections.",
+ "description": "$skipToken is supported on Get list of order, which provides the next page in the list of order.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
- "description": "Order collection object",
+ "description": "Order object",
"schema": {
- "$ref": "#/definitions/OrderCollectionResourceList"
+ "$ref": "#/definitions/OrderResourceList"
}
},
"default": {
@@ -343,19 +343,19 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "ListOrderCollectionsAtSubscriptionLevel": {
- "$ref": "./examples/OrderCollectionListAtSubscriptionLevel.json"
+ "ListOrderAtSubscriptionLevel": {
+ "$ref": "./examples/ListOrderAtSubscriptionLevel.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orders": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orderItems": {
"get": {
"tags": [
- "Orders"
+ "OrderItems"
],
"description": "Lists order at subscription level.",
- "operationId": "ListOrdersAtSubscriptionLevel",
+ "operationId": "ListOrderItemsAtSubscriptionLevel",
"consumes": [
"application/json"
],
@@ -372,7 +372,7 @@
{
"name": "$filter",
"in": "query",
- "description": "$filter is supported to filter based on order collection id. Filter supports only equals operation.",
+ "description": "$filter is supported to filter based on order id. Filter supports only equals operation.",
"required": false,
"type": "string"
},
@@ -386,9 +386,9 @@
],
"responses": {
"200": {
- "description": "Order object",
+ "description": "Order item object",
"schema": {
- "$ref": "#/definitions/OrderResourceList"
+ "$ref": "#/definitions/OrderItemResourceList"
}
},
"default": {
@@ -402,8 +402,8 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "ListOrdersAtSubscriptionLevel": {
- "$ref": "./examples/OrderGetBySubscription.json"
+ "ListOrderItemsAtSubscriptionLevel": {
+ "$ref": "./examples/OrderItemGetBySubscription.json"
}
}
}
@@ -693,13 +693,13 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderCollections": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders": {
"get": {
"tags": [
- "OrderCollections"
+ "Orders"
],
- "description": "Lists order collections at resource group level.",
- "operationId": "ListOrderCollectionsAtResourceGroupLevel",
+ "description": "Lists order at resource group level.",
+ "operationId": "ListOrderAtResourceGroupLevel",
"consumes": [
"application/json"
],
@@ -719,16 +719,16 @@
{
"name": "$skipToken",
"in": "query",
- "description": "$skipToken is supported on Get list of order collections, which provides the next page in the list of order collections.",
+ "description": "$skipToken is supported on Get list of order, which provides the next page in the list of order.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
- "description": "Order collection object",
+ "description": "Order object",
"schema": {
- "$ref": "#/definitions/OrderCollectionResourceList"
+ "$ref": "#/definitions/OrderResourceList"
}
},
"default": {
@@ -742,124 +742,19 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "ListOrderCollectionsAtResourceGroupLevel": {
- "$ref": "./examples/OrderCollectionListAtRGLevel.json"
+ "ListOrderAtResourceGroupLevel": {
+ "$ref": "./examples/ListOrderAtResourceGroupLevel.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderCollections/{orderCollectionName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/locations/{location}/orders/{orderName}": {
"get": {
"tags": [
- "OrderCollections"
- ],
- "description": "Gets an order collection.",
- "operationId": "GetOrderCollectionByName",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/orderCollectionNameParameter"
- },
- {
- "$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": "Order collection object",
- "schema": {
- "$ref": "#/definitions/OrderCollectionResource"
- }
- },
- "default": {
- "description": "Error response describing reason for operation failure.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "GetOrderCollectionByName": {
- "$ref": "./examples/OrderCollectionGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "OrderCollections"
- ],
- "description": "Creates an order collection. Existing order collection cannot be updated with this api and should instead be updated with the Update order collection API.",
- "operationId": "CreateOrderCollection",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/orderCollectionNameParameter"
- },
- {
- "$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": "orderCollectionResource",
- "in": "body",
- "description": "Order collection details from request body.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/OrderCollectionResource"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Returns order collection object",
- "schema": {
- "$ref": "#/definitions/OrderCollectionResource"
- }
- },
- "202": {
- "description": "Accepted request to create order collection."
- },
- "default": {
- "description": "Error response describing reason for operation failure.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "CreateOrderCollection": {
- "$ref": "./examples/OrderCollectionCreate.json"
- }
- }
- },
- "delete": {
- "tags": [
- "OrderCollections"
+ "Orders"
],
- "description": "Deletes an order collection.",
- "operationId": "DeleteOrderCollectionByName",
+ "description": "Gets an order.",
+ "operationId": "GetOrderByName",
"consumes": [
"application/json"
],
@@ -868,7 +763,7 @@
],
"parameters": [
{
- "$ref": "#/parameters/orderCollectionNameParameter"
+ "$ref": "#/parameters/orderNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
@@ -877,83 +772,17 @@
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Just for swagger we are adding this status code"
- },
- "202": {
- "description": "Accepted delete request for an order collection"
- },
- "204": {
- "description": "No content. Order collection deleted"
- },
- "default": {
- "description": "Error response describing reason for operation failure.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "DeleteOrderCollectionByName": {
- "$ref": "./examples/OrderCollectionDelete.json"
- }
- }
- },
- "patch": {
- "tags": [
- "OrderCollections"
- ],
- "description": "Updates the properties of an existing order collection.",
- "operationId": "UpdateOrderCollection",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/orderCollectionNameParameter"
- },
- {
- "$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/LocationParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "name": "If-Match",
- "in": "header",
- "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the order collection on the server matches this value.",
- "required": false,
- "type": "string"
- },
- {
- "name": "orderCollectionUpdateParameter",
- "in": "body",
- "description": "order collection update parameters from request body.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/OrderCollectionUpdateParameter"
- }
}
],
"responses": {
- "202": {
- "description": "Accepted request for order collection update."
- },
"200": {
- "description": "Order collection object",
+ "description": "Order object",
"schema": {
- "$ref": "#/definitions/OrderCollectionResource"
+ "$ref": "#/definitions/OrderResource"
}
},
"default": {
@@ -963,21 +792,20 @@
}
}
},
- "x-ms-long-running-operation": true,
"x-ms-examples": {
- "UpdateOrderCollection": {
- "$ref": "./examples/OrderCollectionUpdate.json"
+ "GetOrderByName": {
+ "$ref": "./examples/GetOrderByName.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems": {
"get": {
"tags": [
- "Orders"
+ "OrderItems"
],
- "description": "Lists order at resource group level.",
- "operationId": "ListOrdersAtResourceGroupLevel",
+ "description": "Lists order item at resource group level.",
+ "operationId": "ListOrderItemsAtResourceGroupLevel",
"consumes": [
"application/json"
],
@@ -997,23 +825,23 @@
{
"name": "$filter",
"in": "query",
- "description": "$filter is supported to filter based on order collection id. Filter supports only equals operation.",
+ "description": "$filter is supported to filter based on order id. Filter supports only equals operation.",
"required": false,
"type": "string"
},
{
"name": "$skipToken",
"in": "query",
- "description": "$skipToken is supported on Get list of orders, which provides the next page in the list of order.",
+ "description": "$skipToken is supported on Get list of order items, which provides the next page in the list of order items.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
- "description": "Order object",
+ "description": "List of Order item object",
"schema": {
- "$ref": "#/definitions/OrderResourceList"
+ "$ref": "#/definitions/OrderItemResourceList"
}
},
"default": {
@@ -1027,19 +855,19 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "ListOrdersAtResourceGroupLevel": {
- "$ref": "./examples/OrderGetByRG.json"
+ "ListOrderItemsAtResourceGroupLevel": {
+ "$ref": "./examples/OrderItemGetByRG.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders/{orderName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}": {
"get": {
"tags": [
- "Orders"
+ "OrderItems"
],
- "description": "Gets an order.",
- "operationId": "GetOrderByName",
+ "description": "Gets an order item.",
+ "operationId": "GetOrderItemByName",
"consumes": [
"application/json"
],
@@ -1048,7 +876,7 @@
],
"parameters": [
{
- "$ref": "#/parameters/orderNameParameter"
+ "$ref": "#/parameters/orderItemNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
@@ -1062,9 +890,9 @@
],
"responses": {
"200": {
- "description": "Order object",
+ "description": "Order item object",
"schema": {
- "$ref": "#/definitions/OrderResource"
+ "$ref": "#/definitions/OrderItemResource"
}
},
"default": {
@@ -1075,17 +903,17 @@
}
},
"x-ms-examples": {
- "GetOrderByName": {
- "$ref": "./examples/OrderGet.json"
+ "GetOrderItemByName": {
+ "$ref": "./examples/OrderItemGet.json"
}
}
},
"put": {
"tags": [
- "Orders"
+ "OrderItems"
],
- "description": "Creates an order. Existing order cannot be updated with this api and should instead be updated with the Update order API.",
- "operationId": "CreateOrder",
+ "description": "Creates an order item. Existing order item cannot be updated with this api and should instead be updated with the Update order item API.",
+ "operationId": "CreateOrderItem",
"consumes": [
"application/json"
],
@@ -1094,7 +922,7 @@
],
"parameters": [
{
- "$ref": "#/parameters/orderNameParameter"
+ "$ref": "#/parameters/orderItemNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
@@ -1106,24 +934,24 @@
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
- "name": "orderResource",
+ "name": "orderItemResource",
"in": "body",
- "description": "Order details from request body.",
+ "description": "Order item details from request body.",
"required": true,
"schema": {
- "$ref": "#/definitions/OrderResource"
+ "$ref": "#/definitions/OrderItemResource"
}
}
],
"responses": {
"200": {
- "description": "Returns order object",
+ "description": "Returns order item object",
"schema": {
- "$ref": "#/definitions/OrderResource"
+ "$ref": "#/definitions/OrderItemResource"
}
},
"202": {
- "description": "Accepted request to create order."
+ "description": "Accepted request to create order item."
},
"default": {
"description": "Error response describing reason for operation failure.",
@@ -1134,17 +962,17 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "CreateOrder": {
- "$ref": "./examples/OrderCreate.json"
+ "CreateOrderItem": {
+ "$ref": "./examples/OrderItemCreate.json"
}
}
},
"delete": {
"tags": [
- "Orders"
+ "OrderItems"
],
- "description": "Deletes an order.",
- "operationId": "DeleteOrderByName",
+ "description": "Deletes an order item.",
+ "operationId": "DeleteOrderItemByName",
"consumes": [
"application/json"
],
@@ -1153,7 +981,7 @@
],
"parameters": [
{
- "$ref": "#/parameters/orderNameParameter"
+ "$ref": "#/parameters/orderItemNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
@@ -1167,13 +995,13 @@
],
"responses": {
"200": {
- "description": "Order Deleted"
+ "description": "Order Item Deleted"
},
"202": {
- "description": "Accepted delete request for an order"
+ "description": "Accepted delete request for an order item"
},
"204": {
- "description": "No content. Order deleted"
+ "description": "No content. Order item deleted"
},
"default": {
"description": "Error response describing reason for operation failure.",
@@ -1184,17 +1012,17 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "DeleteOrderByName": {
- "$ref": "./examples/OrderDelete.json"
+ "DeleteOrderItemByName": {
+ "$ref": "./examples/OrderItemDelete.json"
}
}
},
"patch": {
"tags": [
- "Orders"
+ "OrderItems"
],
- "description": "Updates the properties of an existing order.",
- "operationId": "UpdateOrder",
+ "description": "Updates the properties of an existing order item.",
+ "operationId": "UpdateOrderItem",
"consumes": [
"application/json"
],
@@ -1203,7 +1031,7 @@
],
"parameters": [
{
- "$ref": "#/parameters/orderNameParameter"
+ "$ref": "#/parameters/orderItemNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
@@ -1222,23 +1050,23 @@
"type": "string"
},
{
- "name": "orderUpdateParameter",
+ "name": "orderItemUpdateParameter",
"in": "body",
- "description": "order update parameters from request body.",
+ "description": "order item update parameters from request body.",
"required": true,
"schema": {
- "$ref": "#/definitions/OrderUpdateParameter"
+ "$ref": "#/definitions/OrderItemUpdateParameter"
}
}
],
"responses": {
"202": {
- "description": "Accepted request for order update."
+ "description": "Accepted request for order item update."
},
"200": {
- "description": "Order resource object",
+ "description": "Order item resource object",
"schema": {
- "$ref": "#/definitions/OrderResource"
+ "$ref": "#/definitions/OrderItemResource"
}
},
"default": {
@@ -1250,19 +1078,19 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "UpdateOrder": {
- "$ref": "./examples/OrderUpdate.json"
+ "UpdateOrderItem": {
+ "$ref": "./examples/OrderItemUpdate.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders/{orderName}/cancel": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/cancel": {
"post": {
"tags": [
- "Orders"
+ "OrderItems"
],
- "description": "Cancel order.",
- "operationId": "CancelOrder",
+ "description": "Cancel order item.",
+ "operationId": "CancelOrderItem",
"consumes": [
"application/json"
],
@@ -1271,7 +1099,7 @@
],
"parameters": [
{
- "$ref": "#/parameters/orderNameParameter"
+ "$ref": "#/parameters/orderItemNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
@@ -1307,19 +1135,19 @@
}
},
"x-ms-examples": {
- "CancelOrder": {
- "$ref": "./examples/OrderCancel.json"
+ "CancelOrderItem": {
+ "$ref": "./examples/OrderItemCancel.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders/{orderName}/return": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/return": {
"post": {
"tags": [
- "Orders"
+ "OrderItems"
],
- "description": "Return order.",
- "operationId": "ReturnOrder",
+ "description": "Return order item.",
+ "operationId": "ReturnOrderItem",
"consumes": [
"application/json"
],
@@ -1328,7 +1156,7 @@
],
"parameters": [
{
- "$ref": "#/parameters/orderNameParameter"
+ "$ref": "#/parameters/orderItemNameParameter"
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
@@ -1340,12 +1168,12 @@
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
},
{
- "name": "returnOrderDetails",
+ "name": "returnOrderItemDetails",
"in": "body",
- "description": "Return order CurrentStatus.",
+ "description": "Return order item CurrentStatus.",
"required": true,
"schema": {
- "$ref": "#/definitions/ReturnOrderDetails"
+ "$ref": "#/definitions/ReturnOrderItemDetails"
}
}
],
@@ -1354,7 +1182,7 @@
"description": "Success"
},
"202": {
- "description": "\"Return order request accepted.\""
+ "description": "\"Return order item request accepted.\""
},
"default": {
"description": "Error response describing reason for operation failure.",
@@ -1365,8 +1193,8 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "ReturnOrder": {
- "$ref": "./examples/OrderReturn.json"
+ "ReturnOrderItem": {
+ "$ref": "./examples/OrderItemReturn.json"
}
}
}
@@ -1387,11 +1215,11 @@
"AddressDetails": {
"description": "Address details for an order.",
"required": [
- "shippingAddress"
+ "forwardAddress"
],
"type": "object",
"properties": {
- "shippingAddress": {
+ "forwardAddress": {
"$ref": "#/definitions/AddressProperties",
"description": "Customer address and contact details. It should be address resource"
},
@@ -1655,37 +1483,6 @@
}
}
},
- "CloudError": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string"
- },
- "message": {
- "type": "string"
- },
- "target": {
- "type": "string"
- },
- "details": {
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/CloudError"
- },
- "readOnly": true
- },
- "additionalInfo": {
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/AdditionalErrorInfo"
- },
- "readOnly": true
- }
- },
- "x-ms-external": true
- },
"CommonProperties": {
"description": "Represents common properties across product hierarchy",
"type": "object",
@@ -1720,6 +1517,9 @@
},
"ConfigurationFilters": {
"description": "Configuration filters",
+ "required": [
+ "hierarchyInformation"
+ ],
"type": "object",
"properties": {
"hierarchyInformation": {
@@ -1727,8 +1527,12 @@
"description": "Product hierarchy information"
},
"filterableProperty": {
- "$ref": "#/definitions/FilterableProperty",
- "description": "Filters specific to product"
+ "description": "Filters specific to product",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilterableProperty"
+ }
}
}
},
@@ -1796,7 +1600,8 @@
"description": "Contact Details.",
"required": [
"contactName",
- "phone"
+ "phone",
+ "emailList"
],
"type": "object",
"properties": {
@@ -1815,6 +1620,13 @@
"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"
+ }
}
}
},
@@ -1822,46 +1634,62 @@
"description": "Cost information for the product system",
"type": "object",
"properties": {
- "primaryMeterType": {
- "description": "Primary meter i.e. basic billing type for the product system.",
+ "billingMeterDetails": {
+ "description": "Details on the various billing aspects for the product system.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BillingMeterDetails"
+ },
+ "readOnly": true
+ },
+ "billingInfoUrl": {
+ "description": "Default url to display billing information",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BillingMeterDetails": {
+ "description": "Holds billing meter details for each type of billing",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Represents Billing type name",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterDetails": {
+ "$ref": "#/definitions/MeterDetails",
+ "description": "Represents MeterDetails",
+ "readOnly": true
+ },
+ "meteringType": {
+ "description": "Represents Metering type (eg one-time or recurrent)",
"enum": [
- "ServiceFee",
- "ShippingFee",
- "LostOrDamagedFee",
- "LateDayFee"
+ "OneTime",
+ "Recurring"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "MeterType",
+ "name": "MeteringType",
"modelAsExtensible": true,
"values": [
{
- "value": "ServiceFee",
- "description": "Service usage fee."
- },
- {
- "value": "ShippingFee",
- "description": "Shipping fee."
+ "value": "OneTime",
+ "description": "One time billing."
},
{
- "value": "LostOrDamagedFee",
- "description": "Fee charged if the device is lost or damaged."
- },
- {
- "value": "LateDayFee",
- "description": "Fee charged if the device is kept longer that the allotted days."
+ "value": "Recurring",
+ "description": "Recurring billing."
}
]
}
},
- "meterDetails": {
- "description": "Details on the various billing aspects for the product system.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/MeterDetails"
- },
+ "frequency": {
+ "description": "Frequency of recurrence",
+ "type": "string",
"readOnly": true
}
}
@@ -1937,7 +1765,7 @@
"readOnly": true
},
"deviceHistory": {
- "description": "Package Shipping details",
+ "description": "Device history",
"uniqueItems": false,
"type": "array",
"items": {
@@ -1947,17 +1775,47 @@
}
}
},
+ "EncryptionPreferences": {
+ "description": "Preferences related to the double encryption",
+ "type": "object",
+ "properties": {
+ "doubleEncryptionStatus": {
+ "description": "Defines secondary layer of software-based encryption enablement.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DoubleEncryptionStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Disabled",
+ "description": "Double encryption is disabled"
+ },
+ {
+ "value": "Enabled",
+ "description": "Double encryption is enabled"
+ }
+ ]
+ }
+ }
+ }
+ },
"FilterableProperty": {
"description": "Class defining the list of filter values on a filter type as part of configuration request.",
"required": [
- "type"
+ "type",
+ "supportedValues"
],
"type": "object",
"properties": {
"type": {
"description": "Type of product filter.",
"enum": [
- "ShipToCountries"
+ "ShipToCountries",
+ "DoubleEncryptionStatus"
],
"type": "string",
"x-ms-enum": {
@@ -1967,6 +1825,10 @@
{
"value": "ShipToCountries",
"description": "Ship to country"
+ },
+ {
+ "value": "DoubleEncryptionStatus",
+ "description": "Double encryption status"
}
]
}
@@ -2096,54 +1958,77 @@
}
}
},
+ "ManagementResourceDetails": {
+ "description": "Management resource details to link device",
+ "type": "object",
+ "required": [
+ "managementResourceArmId"
+ ],
+ "properties": {
+ "managementResourceArmId": {
+ "description": "Management resource ARM ID",
+ "type": "string"
+ }
+ }
+ },
"MeterDetails": {
- "description": "Billing details for each meter.",
+ "description": "Holds details about billing type and its meter guids",
"type": "object",
"properties": {
- "meterId": {
- "description": "MeterId/ Billing Guid against which the product system will be charged",
- "type": "string",
- "readOnly": true
- },
- "meterType": {
- "description": "Category of the billing meter.",
+ "billingType": {
+ "description": "Represents billing type.",
"enum": [
- "ServiceFee",
- "ShippingFee",
- "LostOrDamagedFee",
- "LateDayFee"
+ "Pav2",
+ "Purchase"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "MeterType",
+ "name": "BillingType",
"modelAsExtensible": true,
"values": [
{
- "value": "ServiceFee",
- "description": "Service usage fee."
+ "value": "Pav2",
+ "description": "Pav2 billing type."
},
{
- "value": "ShippingFee",
- "description": "Shipping fee."
- },
+ "value": "Purchase",
+ "description": "Purchase billing type."
+ }
+ ]
+ }
+ },
+ "multiplier": {
+ "format": "double",
+ "description": "Billing unit applicable for Pav2 billing",
+ "type": "number",
+ "readOnly": true
+ },
+ "chargingType": {
+ "description": "Charging type.",
+ "enum": [
+ "PerOrder",
+ "PerDevice"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ChargingType",
+ "modelAsExtensible": true,
+ "values": [
{
- "value": "LostOrDamagedFee",
- "description": "Fee charged if the device is lost or damaged."
+ "value": "PerOrder",
+ "description": "Per order charging type."
},
{
- "value": "LateDayFee",
- "description": "Fee charged if the device is kept longer that the allotted days."
+ "value": "PerDevice",
+ "description": "Per device charging type."
}
]
}
- },
- "billingModel": {
- "$ref": "#/definitions/BillingModel",
- "description": "Billing model to represent billing cycle, i.e. Monthly, biweekly, daily, hourly etc.",
- "readOnly": true
}
- }
+ },
+ "x-ms-discriminator-value": "billingType"
},
"NotificationPreference": {
"description": "Notification preference for a job stage.",
@@ -2157,7 +2042,7 @@
"description": "Name of the stage.",
"enum": [
"DevicePrepared",
- "Dispatched",
+ "Shipped",
"Delivered",
"PickedUp",
"AtAzureDC",
@@ -2173,7 +2058,7 @@
"description": "Notification at device prepared stage."
},
{
- "value": "Dispatched",
+ "value": "Shipped",
"description": "Notification at device dispatched stage."
},
{
@@ -2201,38 +2086,50 @@
}
}
},
- "OrderCollectionProperties": {
- "description": "Represents order collection details.",
- "required": [
- "orderIds"
- ],
+ "OrderProperties": {
+ "description": "Represents order details.",
"type": "object",
"properties": {
- "orderIds": {
- "description": "List of order ARM Ids which are part of an order collection.",
+ "orderItemIds": {
+ "description": "List of order item ARM Ids which are part of an order.",
"uniqueItems": false,
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "readOnly": true
+ },
+ "currentStage": {
+ "$ref": "#/definitions/StageDetails",
+ "description": "Order current status.",
+ "readOnly": true
+ },
+ "orderStageHistory": {
+ "description": "Order status history.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StageDetails"
+ },
+ "readOnly": true
}
}
},
- "OrderCollectionResource": {
- "description": "Specifies the properties or parameters for an order collection. Order collection is a grouping of one or more orders.",
+ "OrderResource": {
+ "description": "Specifies the properties or parameters for an order. Order is a grouping of one or more order items.",
"required": [
"properties"
],
"type": "object",
"allOf": [
{
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/OrderCollectionProperties",
- "description": "Order collection properties",
+ "$ref": "#/definitions/OrderProperties",
+ "description": "Order properties",
"x-ms-client-flatten": true
},
"systemData": {
@@ -2242,43 +2139,30 @@
}
}
},
- "OrderCollectionResourceList": {
- "description": "Specifies the list of order collections.",
+ "OrderItemResourceList": {
+ "description": "List of orderItems.",
"type": "object",
"properties": {
"value": {
- "description": "List of order collection resources.",
+ "description": "List of order item resources.",
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/OrderCollectionResource"
+ "$ref": "#/definitions/OrderItemResource"
},
"readOnly": true
},
"nextLink": {
- "description": "Link for the next set of order collection resources.",
+ "description": "Link for the next set of order item resources.",
"type": "string"
}
}
},
- "OrderCollectionUpdateParameter": {
- "description": "Specifies the parameters which can be updated for an order collection.",
- "type": "object",
- "properties": {
- "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"
- }
- }
- }
- },
- "OrderDetails": {
- "description": "Order details",
+ "OrderItemDetails": {
+ "description": "Order item details",
"required": [
"productDetails",
- "orderType"
+ "orderItemType"
],
"type": "object",
"properties": {
@@ -2286,39 +2170,39 @@
"$ref": "#/definitions/ProductDetails",
"description": "Unique identifier for configuration."
},
- "orderType": {
- "description": "Order type.",
+ "orderItemType": {
+ "description": "Order item type.",
"enum": [
"Purchase",
"Rental"
],
"type": "string",
"x-ms-enum": {
- "name": "OrderType",
+ "name": "OrderItemType",
"modelAsExtensible": true,
"values": [
{
"value": "Purchase",
- "description": "Purchase Order."
+ "description": "Purchase OrderItem."
},
{
"value": "Rental",
- "description": "Rental Order."
+ "description": "Rental OrderItem."
}
]
}
},
- "currentStatus": {
- "$ref": "#/definitions/OrderStatusDetails",
- "description": "Current Order Status",
+ "currentStage": {
+ "$ref": "#/definitions/StageDetails",
+ "description": "Current Order item Status",
"readOnly": true
},
- "orderStatusHistory": {
- "description": "Order history",
+ "orderItemStageHistory": {
+ "description": "Order item status history",
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/OrderStatusDetails"
+ "$ref": "#/definitions/StageDetails"
},
"readOnly": true
},
@@ -2337,7 +2221,7 @@
"readOnly": true
},
"notificationEmailList": {
- "description": "Package Shipping details",
+ "description": "Additional notification email list",
"uniqueItems": false,
"type": "array",
"items": {
@@ -2359,26 +2243,26 @@
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "OrderCancellationEnum",
+ "name": "OrderItemCancellationEnum",
"modelAsExtensible": true,
"values": [
{
"value": "Cancellable",
- "description": "Order can be cancelled without fee."
+ "description": "Order item can be cancelled without fee."
},
{
"value": "CancellableWithFee",
- "description": "Order can be cancelled with fee."
+ "description": "Order item can be cancelled with fee."
},
{
"value": "NotCancellable",
- "description": "Order not cancellable."
+ "description": "Order item not cancellable."
}
]
}
},
"deletionStatus": {
- "description": "Describes whether the order is deletable or not.",
+ "description": "Describes whether the order item is deletable or not.",
"enum": [
"Allowed",
"NotAllowed"
@@ -2406,7 +2290,7 @@
"readOnly": true
},
"returnStatus": {
- "description": "Describes whether the order is returnable or not.",
+ "description": "Describes whether the order item is returnable or not.",
"enum": [
"Returnable",
"ReturnableWithFee",
@@ -2415,20 +2299,20 @@
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "OrderReturnEnum",
+ "name": "OrderItemReturnEnum",
"modelAsExtensible": true,
"values": [
{
"value": "Returnable",
- "description": "Order can be returned without fee."
+ "description": "Order item can be returned without fee."
},
{
"value": "ReturnableWithFee",
- "description": "Order can be returned with fee."
+ "description": "Order item can be returned with fee."
},
{
"value": "NotReturnable",
- "description": "Order not returnable."
+ "description": "Order item not returnable."
}
]
}
@@ -2438,24 +2322,29 @@
"description": "parent RP details",
"readOnly": true
},
+ "managementResourceDetails": {
+ "$ref": "#/definitions/ManagementResourceDetails",
+ "description": "Management resource details"
+ },
"error": {
- "$ref": "#/definitions/CloudError",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail",
"description": "Top level error for the job.",
"readOnly": true
}
}
},
- "OrderProperties": {
- "description": "Represents order details.",
+ "OrderItemProperties": {
+ "description": "Represents order item details.",
"required": [
- "orderDetails",
- "addressDetails"
+ "orderItemDetails",
+ "addressDetails",
+ "orderId"
],
"type": "object",
"properties": {
- "orderDetails": {
- "$ref": "#/definitions/OrderDetails",
- "description": "Represents order details."
+ "orderItemDetails": {
+ "$ref": "#/definitions/OrderItemDetails",
+ "description": "Represents order item details."
},
"addressDetails": {
"$ref": "#/definitions/AddressDetails",
@@ -2463,19 +2352,18 @@
},
"startTime": {
"format": "date-time",
- "description": "Start time of order",
+ "description": "Start time of order item",
"type": "string",
"readOnly": true
},
- "orderCollectionId": {
- "description": "Id of the order collection to which order belongs to",
- "type": "string",
- "readOnly": true
+ "orderId": {
+ "description": "Id of the order to which order items belongs to",
+ "type": "string"
}
}
},
- "OrderResource": {
- "description": "Represents order contract",
+ "OrderItemResource": {
+ "description": "Represents order item contract",
"required": [
"properties"
],
@@ -2487,8 +2375,8 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/OrderProperties",
- "description": "Order properties",
+ "$ref": "#/definitions/OrderItemProperties",
+ "description": "Order item properties",
"x-ms-client-flatten": true
},
"systemData": {
@@ -2517,29 +2405,181 @@
}
}
},
- "OrderStatusDetails": {
- "description": "Order status CurrentStatus",
+ "StageDetails": {
+ "description": "Resource stage details",
"type": "object",
"properties": {
- "orderStatus": {
- "description": "Order status",
+ "stageStatus": {
+ "description": "Stage status",
+ "enum": [
+ "None",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "stageName": {
+ "description": "Stage name",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC",
+ "Placed",
+ "InReview",
+ "Confirmed",
+ "ReadyForDispatch",
+ "Shipped",
+ "Delivered",
+ "InUse"
+ ],
+ "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": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ },
+ {
+ "value": "Placed",
+ "description": "Currently in draft mode and can still be cancelled"
+ },
+ {
+ "value": "InReview",
+ "description": "Order is currently in draft mode and can still be cancelled"
+ },
+ {
+ "value": "Confirmed",
+ "description": "Order is confirmed"
+ },
+ {
+ "value": "ReadyForDispatch",
+ "description": "Order is ready for dispatch"
+ },
+ {
+ "value": "Shipped",
+ "description": "Order is in transit to customer"
+ },
+ {
+ "value": "Delivered",
+ "description": "Order is delivered to customer"
+ },
+ {
+ "value": "InUse",
+ "description": "Order is in use at customer site"
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "Display name of the resource stage.",
"type": "string",
"readOnly": true
},
- "lastUpdatedTime": {
- "description": "last time order was updated",
+ "startTime": {
"format": "date-time",
- "type": "string"
+ "description": "Stage start time",
+ "type": "string",
+ "readOnly": true
}
}
},
- "OrderUpdateParameter": {
- "description": "Updates order parameters.",
+ "OrderItemUpdateParameter": {
+ "description": "Updates order item parameters.",
"type": "object",
"properties": {
"properties": {
- "$ref": "#/definitions/OrderUpdateProperties",
- "description": "Order update properties",
+ "$ref": "#/definitions/OrderItemUpdateProperties",
+ "description": "Order item update properties",
"x-ms-client-flatten": true
},
"tags": {
@@ -2551,11 +2591,11 @@
}
}
},
- "OrderUpdateProperties": {
- "description": "Order update properties.",
+ "OrderItemUpdateProperties": {
+ "description": "Order item update properties.",
"type": "object",
"properties": {
- "shippingAddress": {
+ "forwardAddress": {
"$ref": "#/definitions/AddressProperties",
"description": "Updates forward shipping address and contact details."
},
@@ -2573,6 +2613,23 @@
}
}
},
+ "Pav2MeterDetails": {
+ "description": "Billing type PAV2 meter details",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MeterDetails"
+ }
+ ],
+ "properties": {
+ "meterGuid": {
+ "description": "Validation status of requested data center and transport.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "Pav2"
+ },
"Preferences": {
"description": "Preferences related to the order",
"type": "object",
@@ -2588,6 +2645,10 @@
"transportPreferences": {
"$ref": "#/definitions/TransportPreferences",
"description": "Preferences related to the shipment logistics of the order."
+ },
+ "encryptionPreferences": {
+ "$ref": "#/definitions/EncryptionPreferences",
+ "description": "Preferences related to the Encryption."
}
}
},
@@ -2692,7 +2753,11 @@
"description": "Dictionary of filterable properties on product family.",
"type": "object",
"additionalProperties": {
- "$ref": "#/definitions/FilterableProperty"
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilterableProperty"
+ }
}
},
"customerSubscriptionDetails": {
@@ -2785,6 +2850,33 @@
}
}
},
+ "PurchaseMeterDetails": {
+ "description": "Billing type Purchase meter details",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MeterDetails"
+ }
+ ],
+ "properties": {
+ "productId": {
+ "description": "Product Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "skuId": {
+ "description": "Sku Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "termId": {
+ "description": "Term Id",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "Purchase"
+ },
"ResourceIdentity": {
"description": "Msi identity details of the resource",
"type": "object",
@@ -2810,8 +2902,8 @@
"type": "object",
"properties": {}
},
- "ReturnOrderDetails": {
- "description": "Return order request body",
+ "ReturnOrderItemDetails": {
+ "description": "Return order item request body",
"required": [
"returnReason"
],
@@ -2943,6 +3035,7 @@
}
},
"CustomerSubscriptionDetails": {
+ "description": "Holds Customer subscription details. Clients can display available products to unregistered customers by explicitly passing subscription details",
"required": [
"quotaId"
],
@@ -2967,6 +3060,7 @@
}
},
"CustomerSubscriptionRegisteredFeatures": {
+ "description": "Represents subscription registered features",
"type": "object",
"properties": {
"name": {
@@ -3031,18 +3125,18 @@
"type": "string",
"x-ms-parameter-location": "method"
},
- "orderCollectionNameParameter": {
- "name": "orderCollectionName",
+ "orderNameParameter": {
+ "name": "orderName",
"in": "path",
- "description": "The name of the order collection",
+ "description": "The name of the order",
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
},
- "orderNameParameter": {
- "name": "orderName",
+ "orderItemNameParameter": {
+ "name": "orderItemName",
"in": "path",
- "description": "The name of the order",
+ "description": "The name of the order item",
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressCreate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressCreate.json
index 3bdba115fc42..65d2dc2eb577 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressCreate.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressCreate.json
@@ -34,7 +34,10 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344334",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
}
},
"location": "westus"
@@ -59,7 +62,10 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344334",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
}
},
"location": "westus",
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressGetByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressGetByName.json
index ff00c19effa5..08cd6cc1d054 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressGetByName.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressGetByName.json
@@ -30,7 +30,10 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344334",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
}
},
"location": "westus",
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressPatch.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressPatch.json
index 934e2e9e4f9a..1a80d21622ca 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressPatch.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressPatch.json
@@ -31,7 +31,10 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344335",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
}
},
"tags": {
@@ -61,7 +64,10 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344335",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
}
},
"location": "westus",
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtResourceGrouplevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtResourceGrouplevel.json
index 7f9e5a70f87b..fd6f2625938d 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtResourceGrouplevel.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtResourceGrouplevel.json
@@ -31,7 +31,11 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344334",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
}
},
"location": "westus",
@@ -57,7 +61,11 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344334",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
}
},
"location": "westus",
@@ -83,7 +91,11 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344334",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
}
},
"location": "westus",
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtSubscriptionLevel.json
index b8dfbef9174d..906cd01988d1 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtSubscriptionLevel.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/AddressesGetAtSubscriptionLevel.json
@@ -30,7 +30,11 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344334",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
}
},
"location": "westus",
@@ -56,7 +60,11 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344334",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
}
},
"location": "westus",
@@ -82,7 +90,11 @@
"contactDetails": {
"contactName": "Petr Cech",
"phone": "123344334",
- "phoneExtension": ""
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
}
},
"location": "westus",
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json
new file mode 100644
index 000000000000..738be350815f
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "location": "%7B%7B%7Blocation%7D%7D",
+ "orderName": "TestOrderItemName901",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901"
+ ],
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "0001-01-01T05:30:00+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ }
+ ]
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orders"
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json
index 73f7a72c132e..c5a992c23441 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json
@@ -6,28 +6,36 @@
"vscode-restclient"
],
"Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2020-12-01-preview"
+ "https://localhost/subscriptions/{{subscriptionId}}/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2020-12-01-preview"
],
"Content-Type": [
"application/json; charset=utf-8"
],
"Content-Length": [
- "323"
+ "498"
],
"configurationsRequest": {
"configurationFilters": [
{
"hierarchyInformation": {
- "productFamilyName": "AzureStackEdge",
- "productLineName": "AzureStackEdge",
- "productName": "AzureStackEdgeProFPGA"
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - gpu"
},
- "filterableProperty": {
- "type": "ShipToCountries",
- "supportedValues": [
- "US"
- ]
- }
+ "filterableProperty": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US"
+ ]
+ },
+ {
+ "type": "DoubleEncryptionStatus",
+ "supportedValues": [
+ "Enabled"
+ ]
+ }
+ ]
}
]
}
@@ -59,9 +67,15 @@
"US",
"UK"
]
+ },
+ {
+ "type": "DoubleEncryptionStatus",
+ "supportedValues": [
+ "Enabled"
+ ]
}
],
- "displayName": "1 GPU",
+ "displayName": "azurestackedgepro-gpu 1 GPU",
"description": {
"descriptionType": "Base",
"keywords": [],
@@ -74,10 +88,10 @@
"disabledReason": "None"
},
"hierarchyInformation": {
- "productFamilyName": "AzureStackEdge",
- "productLineName": "AzureStackEdge",
- "productName": "AzureStackEdgeProFPGA",
- "configurationName": "1GPU"
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - gpu",
+ "configurationName": "azurestackedgepro-gpu1 gpu"
}
}
}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json
index ccacae54d1df..8cde9566cb92 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json
@@ -68,122 +68,101 @@
"isDataAction": false
},
{
- "name": "Microsoft.EdgeOrder/orders/cancel/action",
+ "name": "Microsoft.EdgeOrder/locations/orders/read",
"display": {
"provider": "Edge Ordering",
- "resource": "Orders",
- "operation": "Cancel Order",
- "description": "Cancels an order in progress."
+ "resource": "ArmApiRes_orders",
+ "operation": "List or Get ArmApiRes_orders",
+ "description": "List or get the ArmApiRes_orders"
},
"origin": "user",
- "isDataAction": true
- },
- {
- "name": "Microsoft.EdgeOrder/orders/return/action",
- "display": {
- "provider": "Edge Ordering",
- "resource": "Orders",
- "operation": "Return Order",
- "description": "Return an order."
- },
- "origin": "user",
- "isDataAction": true
+ "isDataAction": false
},
{
"name": "Microsoft.EdgeOrder/orders/read",
"display": {
"provider": "Edge Ordering",
- "resource": "Orders",
- "operation": "List or Get Orders",
- "description": "List or get the Orders"
+ "resource": "ArmApiRes_orders",
+ "operation": "List or Get ArmApiRes_orders",
+ "description": "List or get the ArmApiRes_orders"
},
"origin": "user",
"isDataAction": false
},
{
- "name": "Microsoft.EdgeOrder/orders/delete",
+ "name": "Microsoft.EdgeOrder/orderItems/cancel/action",
"display": {
"provider": "Edge Ordering",
- "resource": "Orders",
- "operation": "Delete Orders",
- "description": "Delete the Orders"
+ "resource": "ArmApiRes_orderItems"
},
"origin": "user",
- "isDataAction": false
+ "isDataAction": true
},
{
- "name": "Microsoft.EdgeOrder/orders/write",
+ "name": "Microsoft.EdgeOrder/orderItems/return/action",
"display": {
"provider": "Edge Ordering",
- "resource": "Orders",
- "operation": "Create or Update Orders",
- "description": "Create or update the Orders"
+ "resource": "ArmApiRes_orderItems"
},
"origin": "user",
- "isDataAction": false
+ "isDataAction": true
},
{
- "name": "Microsoft.EdgeOrder/orderCollections/write",
+ "name": "Microsoft.EdgeOrder/orderItems/read",
"display": {
"provider": "Edge Ordering",
- "resource": "Order Collections",
- "operation": "Create or Update Order Collections",
- "description": "Create or update the Order Collections"
+ "resource": "ArmApiRes_orderItems",
+ "operation": "List or Get ArmApiRes_orderItems",
+ "description": "List or get the ArmApiRes_orderItems"
},
"origin": "user",
"isDataAction": false
},
{
- "name": "Microsoft.EdgeOrder/orderCollections/read",
+ "name": "Microsoft.EdgeOrder/orderItems/delete",
"display": {
"provider": "Edge Ordering",
- "resource": "Order Collections",
- "operation": "List or Get Order Collections",
- "description": "List or get the Order Collections"
+ "resource": "ArmApiRes_orderItems",
+ "operation": "Delete ArmApiRes_orderItems",
+ "description": "Delete the ArmApiRes_orderItems"
},
"origin": "user",
"isDataAction": false
},
{
- "name": "Microsoft.EdgeOrder/orderCollections/delete",
+ "name": "Microsoft.EdgeOrder/orderItems/write",
"display": {
"provider": "Edge Ordering",
- "resource": "Order Collections",
- "operation": "Delete Order Collections",
- "description": "Delete the Order Collections"
+ "resource": "ArmApiRes_orderItems",
+ "operation": "Create or Update ArmApiRes_orderItems",
+ "description": "Create or update the ArmApiRes_orderItems"
},
"origin": "user",
"isDataAction": false
},
{
- "name": "Microsoft.EdgeOrder/locations/productFamiliesMetadata/read",
+ "name": "Microsoft.EdgeOrder/productFamiliesMetadata/action",
"display": {
"provider": "Edge Ordering",
- "resource": "Product Families Metadata",
- "operation": "List or Get Product Families Metadata",
- "description": "List or get the Product Families Metadata"
+ "resource": "ArmApiRes_Microsoft.EdgeOrder"
},
"origin": "user",
- "isDataAction": false
+ "isDataAction": true
},
{
- "name": "Microsoft.EdgeOrder/locations/listProductFamilies/read",
+ "name": "Microsoft.EdgeOrder/listProductFamilies/read",
"display": {
"provider": "Edge Ordering",
- "resource": "Product Families",
- "operation": "List Product Families",
- "description": "This method returns list of product families."
+ "resource": "ArmApiRes_Microsoft.EdgeOrder"
},
"origin": "user",
"isDataAction": true
},
{
- "name": "Microsoft.EdgeOrder/locations/productFamilies/productLines/products/configurations/read",
+ "name": "Microsoft.EdgeOrder/listConfigurations/action",
"display": {
"provider": "Edge Ordering",
- "resource": "Product Configurations",
- "operation": "List Product Configurations",
- "description": "This method returns list of product configurations."
+ "resource": "ArmApiRes_Microsoft.EdgeOrder"
},
"origin": "user",
"isDataAction": true
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json
new file mode 100644
index 000000000000..7654a1353a00
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901"
+ ],
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "0001-01-01T05:30:00+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ }
+ ]
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orders"
+ },
+ {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01"
+ ],
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "0001-01-01T05:30:00+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ }
+ ]
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orders"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json
new file mode 100644
index 000000000000..e9088e13d141
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orders?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901"
+ ],
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "0001-01-01T05:30:00+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ }
+ ]
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orders"
+ },
+ {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01"
+ ],
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "0001-01-01T05:30:00+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ }
+ ]
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orders"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json
index 6328fd6d24b4..38b2fd23a071 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json
@@ -12,16 +12,19 @@
"application/json; charset=utf-8"
],
"Content-Length": [
- "120"
+ "174"
],
"productFamiliesRequest": {
"filterableProperties": {
- "azurestackedge": {
- "type": "ShipToCountries",
- "supportedValues": [
- "US"
- ]
- }
+ "azurestackedge": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US",
+ "UK"
+ ]
+ }
+ ]
}
}
},
@@ -37,191 +40,71 @@
"products": [
{
"properties": {
- "filterableProperties": [
+ "configurations": [
{
- "type": "ShipToCountries",
- "supportedValues": [
- "US"
- ]
- }
- ],
- "displayName": "Azure Stack Edge Pro - GPU",
- "description": {
- "descriptionType": "Base",
- "shortDescription": "Azure managed physical edge compute device",
- "longDescription": "Cancelled",
- "keywords": [
- "AtAzureDC",
- "GPU"
- ],
- "attributes": [
- "1U device shipped by Microsoft",
- "Hardware accelerated ML using NVIDIA T4 FPGA",
- "Azure Private Zone Enabled"
- ],
- "links": [
- {
- "linkType": "TermsAndConditions",
- "linkUrl": "https://aka.mx/tc"
- },
- {
- "linkType": "KnowMore",
- "linkUrl": "https://aka.mx/knowmore"
+ "properties": {
+ "specifications": [
+ {
+ "name": "Cores",
+ "value": "24"
+ },
+ {
+ "name": "Memory",
+ "value": "128 GB"
+ },
+ {
+ "name": "Storage",
+ "value": "~8 TB"
+ }
+ ],
+ "filterableProperties": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US",
+ "UK"
+ ]
+ },
+ {
+ "type": "DoubleEncryptionStatus",
+ "supportedValues": [
+ "Disabled"
+ ]
+ }
+ ],
+ "displayName": "Azure Stack Edge Pro - R 3 GPU",
+ "description": {
+ "descriptionType": "Base",
+ "keywords": [],
+ "attributes": [],
+ "links": []
+ },
+ "imageInformation": [],
+ "availabilityInformation": {
+ "availabilityStage": "Available",
+ "disabledReason": "None"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - r",
+ "configurationName": "azure stack edge pro - r 3 gpu"
+ }
}
- ]
- },
- "imageInformation": [
- {
- "imageType": "MainImage",
- "imageUrl": "https://xyz.com"
- },
- {
- "imageType": "BulletImage",
- "imageUrl": "https://abc.com"
- },
- {
- "imageType": "GenericImage",
- "imageUrl": "https://xyz.com/1"
- },
- {
- "imageType": "GenericImage",
- "imageUrl": "https://abc.com/1"
}
],
- "costInformation": {
- "primaryMeterType": "ServiceFee",
- "meterDetails": [
- {
- "meterId": "2e0bf1cf-eaeb-4dce-8b37-03e60472bf66",
- "meterType": "ServiceFee",
- "billingModel": {
- "model": "PT1M"
- }
- },
- {
- "meterId": "24beef08-5f0a-4a1f-95fc-82d21a85a589",
- "meterType": "ShippingFee",
- "billingModel": {
- "model": "PT0H"
- }
- },
- {
- "meterId": "aa9e6a15-419f-482b-a890-fd60d4727955",
- "meterType": "LostOrDamagedFee",
- "billingModel": {
- "model": "PT0H"
- }
- }
- ]
- },
- "availabilityInformation": {
- "availabilityStage": "Available",
- "disabledReason": "None"
- },
- "hierarchyInformation": {
- "productFamilyName": "AzureStackEdge",
- "productLineName": "AzureStackEdge",
- "productName": "AzureStackEdgeProGPU"
- }
- }
- },
- {
- "properties": {
"filterableProperties": [
{
"type": "ShipToCountries",
"supportedValues": [
+ "US",
"UK"
]
- }
- ],
- "displayName": "Azure Stack Edge Pro - FPGA",
- "description": {
- "descriptionType": "Base",
- "shortDescription": "Azure managed physical edge compute device",
- "longDescription": "Azure Stack Edge is an AI-enabled edge computing device with network data transfer capabilities. The device is powered with Intel Aria to provide accelerated AI inferencing at the edge. You can choose from the available configurations with one or two FPGAs basis your business need",
- "keywords": [
- "Edge",
- "FPGA"
- ],
- "attributes": [
- "1U device shipped by Microsoft",
- "Hardware accelerated ML using Intel ARIA FPGA"
- ],
- "links": [
- {
- "linkType": "TermsAndConditions",
- "linkUrl": "https://aka.mx/tc"
- },
- {
- "linkType": "KnowMore",
- "linkUrl": "https://aka.mx/knowmore"
- }
- ]
- },
- "imageInformation": [
- {
- "imageType": "MainImage",
- "imageUrl": "https://xyz.com"
},
{
- "imageType": "BulletImage",
- "imageUrl": "https://abc.com"
- },
- {
- "imageType": "GenericImage",
- "imageUrl": "https://xyz.com/1"
- },
- {
- "imageType": "GenericImage",
- "imageUrl": "https://abc.com/1"
- }
- ],
- "costInformation": {
- "primaryMeterType": "ServiceFee",
- "meterDetails": [
- {
- "meterId": "2e0bf1cf-eaeb-4dce-8b37-03e60472bf66",
- "meterType": "ServiceFee",
- "billingModel": {
- "model": "PT1M"
- }
- },
- {
- "meterId": "24beef08-5f0a-4a1f-95fc-82d21a85a589",
- "meterType": "ShippingFee",
- "billingModel": {
- "model": "PT0H"
- }
- },
- {
- "meterId": "aa9e6a15-419f-482b-a890-fd60d4727955",
- "meterType": "LostOrDamagedFee",
- "billingModel": {
- "model": "PT0H"
- }
- }
- ]
- },
- "availabilityInformation": {
- "availabilityStage": "Available",
- "disabledReason": "None"
- },
- "hierarchyInformation": {
- "productFamilyName": "AzureStackEdge",
- "productLineName": "AzureStackEdge",
- "productName": "AzureStackEdgeProFPGA"
- }
- }
- },
- {
- "properties": {
- "filterableProperties": [
- {
- "type": "ShipToCountries",
+ "type": "DoubleEncryptionStatus",
"supportedValues": [
- "US",
- "UK"
+ "Enabled"
]
}
],
@@ -267,41 +150,17 @@
"imageUrl": "https://abc.com/1"
}
],
- "costInformation": {
- "primaryMeterType": "ServiceFee",
- "meterDetails": [
- {
- "meterId": "2e0bf1cf-eaeb-4dce-8b37-03e60472bf66",
- "meterType": "ServiceFee",
- "billingModel": {
- "model": "PT1M"
- }
- },
- {
- "meterId": "24beef08-5f0a-4a1f-95fc-82d21a85a589",
- "meterType": "ShippingFee",
- "billingModel": {
- "model": "PT0H"
- }
- },
- {
- "meterId": "aa9e6a15-419f-482b-a890-fd60d4727955",
- "meterType": "LostOrDamagedFee",
- "billingModel": {
- "model": "PT0H"
- }
- }
- ]
- },
+ "costInformation": {},
"availabilityInformation": {
"availabilityStage": "ComingSoon",
"disabledReason": "NotAvailable",
"disabledReasonMessage": "Device is not available yet"
},
"hierarchyInformation": {
- "productFamilyName": "AzureStackEdge",
- "productLineName": "AzureStackEdge",
- "productName": "AzureStackEdgeProFPGA"
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - r",
+ "configurationName": ""
}
}
}
@@ -313,9 +172,15 @@
"US",
"UK"
]
+ },
+ {
+ "type": "DoubleEncryptionStatus",
+ "supportedValues": [
+ "Enabled"
+ ]
}
],
- "displayName": "Azure Stack Edge",
+ "displayName": "Azure Stack Edge_Pl",
"description": {
"descriptionType": "Base",
"keywords": [],
@@ -328,8 +193,10 @@
"disabledReason": "None"
},
"hierarchyInformation": {
- "productFamilyName": "AzureStackEdge",
- "productLineName": "AzureStackEdge"
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "",
+ "configurationName": ""
}
}
}
@@ -341,6 +208,12 @@
"US",
"UK"
]
+ },
+ {
+ "type": "DoubleEncryptionStatus",
+ "supportedValues": [
+ "Enabled"
+ ]
}
],
"displayName": "Azure Stack Edge",
@@ -356,7 +229,10 @@
"disabledReason": "None"
},
"hierarchyInformation": {
- "productFamilyName": "AzureStackEdge"
+ "productFamilyName": "azurestackedge",
+ "productLineName": "",
+ "productName": "",
+ "configurationName": ""
}
}
}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json
index 378eb86bc97d..67240b8f6d75 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json
@@ -23,32 +23,7 @@
"links": []
},
"imageInformation": [],
- "costInformation": {
- "primaryMeterType": "ServiceFee",
- "meterDetails": [
- {
- "meterId": "2e0bf1cf-eaeb-4dce-8b37-03e60472bf66",
- "meterType": "ServiceFee",
- "billingModel": {
- "model": "PT1M"
- }
- },
- {
- "meterId": "24beef08-5f0a-4a1f-95fc-82d21a85a589",
- "meterType": "ShippingFee",
- "billingModel": {
- "model": "PT0H"
- }
- },
- {
- "meterId": "aa9e6a15-419f-482b-a890-fd60d4727955",
- "meterType": "LostOrDamagedFee",
- "billingModel": {
- "model": "PT0H"
- }
- }
- ]
- },
+ "costInformation": {},
"availabilityInformation": {
"availabilityStage": "Available",
"disabledReason": "None"
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCancel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCancel.json
deleted file mode 100644
index c9c90e440a0f..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCancel.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderName": "TestOrderName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1/cancel?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "34"
- ],
- "cancellationReason": {
- "reason": "Order cancelled"
- }
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionCreate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionCreate.json
deleted file mode 100644
index 24620db5fce9..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionCreate.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderCollectionName": "TestOrderCollectionName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections/TestOrderCollectionName1?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "447"
- ],
- "orderCollectionResource": {
- "properties": {
- "orderIds": [
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/TestRG/providers/Microsoft.EdgeOrder/Orders/TestOrderName1",
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/TestRG1/providers/Microsoft.EdgeOrder/Orders/TestOrderName2"
- ]
- },
- "tags": {
- "Name": "TestName",
- "Work": "Engineering"
- },
- "location": "westus"
- }
- },
- "responses": {
- "202": {},
- "200": {
- "body": {
- "properties": {
- "orderIds": [
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG1/providers/Microsoft.EdgeOrder/orders/TestOrderName2"
- ]
- },
- "location": "westus",
- "tags": {
- "name": "TestName",
- "work": "Engineering"
- },
- "name": "TestOrderCollectionName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections/TestOrderCollectionName1",
- "type": "Microsoft.EdgeOrder/orderCollections"
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionDelete.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionDelete.json
deleted file mode 100644
index ac3d7874cc42..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionDelete.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderCollectionName": "TestOrderCollectionName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections/TestOrderCollectionName1?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {},
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionGet.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionGet.json
deleted file mode 100644
index aa2b11387bb1..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionGet.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderCollectionName": "TestOrderCollectionName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections/TestOrderCollectionName1?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "orderIds": [
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG1/providers/Microsoft.EdgeOrder/orders/TestOrderName2"
- ]
- },
- "location": "westus",
- "tags": {
- "name": "TestName",
- "work": "Engineering"
- },
- "name": "TestOrderCollectionName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections/TestOrderCollectionName1",
- "type": "Microsoft.EdgeOrder/orderCollections"
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionListAtRGLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionListAtRGLevel.json
deleted file mode 100644
index ee892f241887..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionListAtRGLevel.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "orderIds": [
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG1/providers/Microsoft.EdgeOrder/orders/TestOrderName2"
- ]
- },
- "location": "westus",
- "tags": {
- "name": "TestName",
- "work": "Engineering"
- },
- "name": "TestOrderCollectionName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections/TestOrderCollectionName1",
- "type": "Microsoft.EdgeOrder/orderCollections"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionListAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionListAtSubscriptionLevel.json
deleted file mode 100644
index 51db77529b2c..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionListAtSubscriptionLevel.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orderCollections?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "orderIds": [
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG1/providers/Microsoft.EdgeOrder/orders/TestOrderName2"
- ]
- },
- "location": "westus",
- "tags": {
- "name": "TestName",
- "work": "Engineering"
- },
- "name": "TestOrderCollectionName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections/TestOrderCollectionName1",
- "type": "Microsoft.EdgeOrder/orderCollections"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionUpdate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionUpdate.json
deleted file mode 100644
index 0102f806db29..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCollectionUpdate.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderCollectionName": "TestOrderCollectionName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections/TestOrderCollectionName1?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "193"
- ],
- "orderCollectionUpdateParameter": {
- "tags": {
- "Name": "TestName-Updated",
- "Work": "Engineering",
- "Hobby": "Coding-Added"
- }
- }
- },
- "responses": {
- "202": {},
- "200": {
- "body": {
- "properties": {
- "orderIds": [
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG1/providers/Microsoft.EdgeOrder/orders/TestOrderName2"
- ]
- },
- "location": "westus",
- "tags": {
- "name": "TestName-Updated",
- "work": "Engineering",
- "hobby": "Coding-Added"
- },
- "name": "TestOrderCollectionName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderCollections/TestOrderCollectionName1",
- "type": "Microsoft.EdgeOrder/orderCollections"
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCreate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCreate.json
deleted file mode 100644
index 28184bb3f0e8..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderCreate.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderName": "TestOrderName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "829"
- ],
- "orderResource": {
- "properties": {
- "orderDetails": {
- "orderType": "Purchase",
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azurestackedge",
- "productName": "azurestackedgeprogpu",
- "configurationName": "1gpu"
- }
- },
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- }
- },
- "addressDetails": {
- "shippingAddress": {
- "contactDetails": {
- "contactName": "first",
- "phone": "11111"
- }
- }
- }
- },
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "location": "westus"
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "orderDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "AzureStackEdge",
- "productLineName": "AzureStackEdge",
- "productName": "AzureStackEdgeProFPGA",
- "configurationName": "1GPU"
- },
- "count": 1,
- "deviceDetails": []
- },
- "orderType": "Purchase",
- "orderStatusHistory": [],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationReason": "",
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnReason": "",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "shippingAddress": {
- "contactDetails": {
- "contactName": "first",
- "phone": "11111"
- }
- }
- },
- "startTime": "0001-01-01T05:30:00+05:30",
- "orderCollectionId": ""
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "type": "Microsoft.EdgeOrder/orders"
- }
- },
- "202": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderDelete.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderDelete.json
deleted file mode 100644
index f93701d7d9c7..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderDelete.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderName": "TestOrderName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {},
- "202": {},
- "204": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderGet.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderGet.json
deleted file mode 100644
index 88664837bf73..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderGet.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderName": "TestOrderName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "orderDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azurestackedge",
- "productName": "azurestackedgeprogpu",
- "configurationName": "1gpu"
- },
- "count": 1,
- "deviceDetails": []
- },
- "orderType": "Purchase",
- "currentStatus": {
- "orderStatus": "",
- "lastUpdatedTime": "0001-01-01T05:30:00+05:30"
- },
- "orderStatusHistory": [],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationReason": "",
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnReason": "",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "shippingAddress": {
- "contactDetails": {
- "contactName": "first",
- "phone": "11111"
- }
- }
- },
- "startTime": "0001-01-01T05:30:00+05:30",
- "orderCollectionId": ""
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "type": "Microsoft.EdgeOrder/orders"
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderGetByRG.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderGetByRG.json
deleted file mode 100644
index 5a6faa36c101..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderGetByRG.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "orderDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azurestackedge",
- "productName": "azurestackedgeprogpu",
- "configurationName": "1gpu"
- },
- "count": 1,
- "deviceDetails": []
- },
- "orderType": "Purchase",
- "currentStatus": {
- "orderStatus": "",
- "lastUpdatedTime": "0001-01-01T05:30:00+05:30"
- },
- "orderStatusHistory": [],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationReason": "",
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnReason": "",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "shippingAddress": {
- "contactDetails": {
- "contactName": "first",
- "phone": "11111"
- }
- }
- },
- "startTime": "0001-01-01T05:30:00+05:30",
- "orderCollectionId": ""
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "type": "Microsoft.EdgeOrder/orders"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderGetBySubscription.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderGetBySubscription.json
deleted file mode 100644
index a45a5a8f56b5..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderGetBySubscription.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orders?api-version=2020-12-01-preview"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {
- "orderDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "azurestackedge",
- "productLineName": "azurestackedge",
- "productName": "azurestackedgeprogpu",
- "configurationName": "1gpu"
- },
- "count": 1,
- "deviceDetails": []
- },
- "orderType": "Purchase",
- "currentStatus": {
- "orderStatus": "",
- "lastUpdatedTime": "0001-01-01T05:30:00+05:30"
- },
- "orderStatusHistory": [],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "MicrosoftManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationReason": "",
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnReason": "",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "shippingAddress": {
- "contactDetails": {
- "contactName": "first",
- "phone": "11111"
- }
- }
- },
- "startTime": "0001-01-01T05:30:00+05:30",
- "orderCollectionId": ""
- },
- "location": "westus",
- "tags": {
- "mango": "fruit",
- "carrot": "vegetable"
- },
- "name": "TestOrderName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "type": "Microsoft.EdgeOrder/orders"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCancel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCancel.json
new file mode 100644
index 000000000000..4776fefb2196
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCancel.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderName1",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1/cancel?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "34"
+ ],
+ "cancellationReason": {
+ "reason": "Order cancelled"
+ }
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCreate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCreate.json
new file mode 100644
index 000000000000..745a4512e6de
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemCreate.json
@@ -0,0 +1,156 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1388"
+ ],
+ "orderItemResource": {
+ "properties": {
+ "orderItemDetails": {
+ "orderItemType": "Purchase",
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "Azure Stack Edge_Pl",
+ "productName": "Azure Stack Edge Pro - FPGA",
+ "configurationName": "Azure Stack Edge Pro - FPGA 1 GPU"
+ }
+ },
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ }
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 townsend st",
+ "streetAddress2": "unit 1",
+ "city": "san francisco",
+ "stateOrProvince": "ca",
+ "country": "us",
+ "postalCode": "94107",
+ "companyName": "microsoft",
+ "zipExtendedCode": "1",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - fpga",
+ "configurationName": "azure stack edge pro - fpga 1 gpu"
+ },
+ "count": 0,
+ "deviceDetails": []
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "2021-03-24T15:17:13.1376775+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyForDispatch"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "Allowed",
+ "returnStatus": "Returnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-03-24T15:17:13.1376775+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemDelete.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemDelete.json
new file mode 100644
index 000000000000..1d683f6a4527
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGet.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGet.json
new file mode 100644
index 000000000000..9257bae6e814
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGet.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - fpga",
+ "configurationName": "azure stack edge pro - fpga 1 gpu"
+ },
+ "count": 0,
+ "deviceDetails": []
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "2021-03-24T15:17:13.1376775+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyForDispatch"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "Allowed",
+ "returnStatus": "Returnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-03-24T15:17:13.1376775+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetByRG.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetByRG.json
new file mode 100644
index 000000000000..58b12efd0a25
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetByRG.json
@@ -0,0 +1,185 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - fpga",
+ "configurationName": "azure stack edge pro - fpga 1 gpu"
+ },
+ "count": 0,
+ "deviceDetails": []
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "2021-03-24T15:13:04.0758106+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyForDispatch"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "Allowed",
+ "returnStatus": "Returnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-03-24T15:13:04.0758106+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ },
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - fpga",
+ "configurationName": "azure stack edge pro - fpga 1 gpu"
+ },
+ "count": 0,
+ "deviceDetails": []
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "2021-03-24T15:17:13.1376775+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyForDispatch"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "Allowed",
+ "returnStatus": "Returnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-03-24T15:17:13.1376775+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetBySubscription.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetBySubscription.json
new file mode 100644
index 000000000000..672cd69fff94
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemGetBySubscription.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - fpga",
+ "configurationName": "azure stack edge pro - fpga 1 gpu"
+ },
+ "count": 0,
+ "deviceDetails": []
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "2021-03-24T15:13:04.0758106+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyForDispatch"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "Allowed",
+ "returnStatus": "Returnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-03-24T15:13:04.0758106+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ },
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - fpga",
+ "configurationName": "azure stack edge pro - fpga 1 gpu"
+ },
+ "count": 0,
+ "deviceDetails": []
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "2021-03-24T15:17:13.1376775+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyForDispatch"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "Allowed",
+ "returnStatus": "Returnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-03-24T15:17:13.1376775+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemReturn.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemReturn.json
new file mode 100644
index 000000000000..1da3c3459b8c
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemReturn.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderName1",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01/return?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "39"
+ ],
+ "returnOrderItemDetails": {
+ "returnReason": "Order returned"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemUpdate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemUpdate.json
new file mode 100644
index 000000000000..7d6e178ba412
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderItemUpdate.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "493"
+ ],
+ "orderItemUpdateParameter": {
+ "properties": {
+ "forwardAddress": {
+ "contactDetails": {
+ "contactName": "Updated contact name",
+ "phone": "22222",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ },
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "CustomerManaged"
+ }
+ }
+ },
+ "tags": {
+ "pigeon": "bird",
+ "tiger": "animal",
+ "ant": "insect"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azure stack edge_pl",
+ "productName": "azure stack edge pro - fpga",
+ "configurationName": "azure stack edge pro - fpga 1 gpu"
+ },
+ "count": 0,
+ "deviceDetails": []
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "InReview",
+ "startTime": "2021-03-24T15:17:13.1376775+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "InReview"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyForDispatch"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "CustomerManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "Allowed",
+ "returnStatus": "Returnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "contactDetails": {
+ "contactName": "Updated contact name",
+ "phone": "22222",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-03-24T15:17:13.1376775+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "pigeon": "bird",
+ "tiger": "animal",
+ "ant": "insect"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderReturn.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderReturn.json
deleted file mode 100644
index caa050cf6d01..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderReturn.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderName": "TestOrderName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1/return?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "39"
- ],
- "returnOrderDetails": {
- "returnReason": "Order returned"
- }
- },
- "responses": {
- "200": {},
- "202": {}
- }
-}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderUpdate.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderUpdate.json
deleted file mode 100644
index 6cc662736e46..000000000000
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/OrderUpdate.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
- "resourceGroupName": "TestRG",
- "orderName": "TestOrderName1",
- "api-version": "2020-12-01-preview",
- "User-Agent": [
- "vscode-restclient"
- ],
- "Referer": [
- "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1?api-version=2020-12-01-preview"
- ],
- "Content-Type": [
- "application/json; charset=utf-8"
- ],
- "Content-Length": [
- "268"
- ],
- "orderUpdateParameter": {
- "properties": {
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "CustomerManaged"
- }
- }
- },
- "tags": {
- "pigeon": "bird",
- "tiger": "animal",
- "ant": "insect"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {
- "orderDetails": {
- "productDetails": {
- "hierarchyInformation": {
- "productFamilyName": "AzureStackEdge",
- "productLineName": "AzureStackEdge",
- "productName": "AzureStackEdgeProFPGA",
- "configurationName": "1GPU"
- },
- "count": 1,
- "deviceDetails": []
- },
- "orderType": "Purchase",
- "currentStatus": {
- "orderStatus": "",
- "lastUpdatedTime": "0001-01-01T05:30:00+05:30"
- },
- "orderStatusHistory": [],
- "preferences": {
- "transportPreferences": {
- "preferredShipmentType": "CustomerManaged"
- }
- },
- "notificationEmailList": [],
- "cancellationReason": "",
- "cancellationStatus": "Cancellable",
- "deletionStatus": "Allowed",
- "returnReason": "",
- "returnStatus": "Returnable"
- },
- "addressDetails": {
- "shippingAddress": {
- "contactDetails": {
- "contactName": "first",
- "phone": "11111"
- }
- }
- },
- "startTime": "0001-01-01T05:30:00+05:30",
- "orderCollectionId": ""
- },
- "location": "westus",
- "tags": {
- "pigeon": "bird",
- "tiger": "animal",
- "ant": "insect"
- },
- "name": "TestOrderName1",
- "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
- "type": "Microsoft.EdgeOrder/orders"
- }
- },
- "202": {}
- }
-}
diff --git a/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/edgeorderpartner.json b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/edgeorderpartner.json
new file mode 100644
index 000000000000..f36549599067
--- /dev/null
+++ b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/edgeorderpartner.json
@@ -0,0 +1,905 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-12-01-preview",
+ "title": "Edge Ordering Service-Partner"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.EdgeOrderPartner/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "This method gets all the operations that are exposed for customer.",
+ "operationId": "ListOperationsPartner",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListOperationsPartner": {
+ "$ref": "./examples/ListOperationsPartner.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrderPartner/locations/{location}/productFamilies/{familyIdentifier}/inventories/{serialNumber}/manageInventoryMetadata": {
+ "post": {
+ "tags": [
+ "PartnerInventory"
+ ],
+ "summary": "API for updating inventory metadata and inventory configuration",
+ "operationId": "ManageInventoryMetadata",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/familyIdentifierParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/serialNumberParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "manageInventoryMetadataRequest",
+ "in": "body",
+ "description": "Updates inventory metadata and inventory configuration",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManageInventoryMetadataRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "\"Success\""
+ },
+ "202": {
+ "description": "\"Request is accepted to manage inventory metadata\""
+ },
+ "204": {
+ "description": "\"No content\""
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ManageInventoryMetadata": {
+ "$ref": "./examples/ManageInventoryMetadata.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrderPartner/locations/{location}/productFamilies/{familyIdentifier}/inventories/{serialNumber}/manageLink": {
+ "post": {
+ "tags": [
+ "PartnerInventory"
+ ],
+ "summary": "API for linking management resource with inventory",
+ "operationId": "ManageLink",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/familyIdentifierParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/serialNumberParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "manageLinkRequest",
+ "in": "body",
+ "description": "Links the management resource to the inventory",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManageLinkRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "\"Success\""
+ },
+ "204": {
+ "description": "\"No content\""
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ManageLink": {
+ "$ref": "./examples/ManageLink.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrderPartner/searchInventories": {
+ "post": {
+ "tags": [
+ "PartnerInventory"
+ ],
+ "summary": "API for Search inventories",
+ "operationId": "SearchInventories",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "searchInventoriesRequest",
+ "in": "body",
+ "description": "Searches inventories with the given filters and returns in the form of a list",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SearchInventoriesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/PartnerInventoryList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SearchInventories": {
+ "$ref": "./examples/SearchInventories.json"
+ },
+ "SearchInventoriesDetails": {
+ "$ref": "./examples/SearchInventoriesDetails.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AdditionalErrorInfo": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "info": {
+ "type": "object"
+ }
+ }
+ },
+ "AdditionalInventoryDetails": {
+ "description": "Contains additional data about inventory in dictionary format",
+ "type": "object",
+ "properties": {
+ "additionalData": {
+ "description": "Additional Data",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "AdditionalOrderItemDetails": {
+ "description": "Contains additional order item details",
+ "type": "object",
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/StageDetails",
+ "description": "Order item status",
+ "readOnly": true
+ },
+ "subscription": {
+ "$ref": "#/definitions/SubscriptionDetails",
+ "description": "Subscription details",
+ "readOnly": true
+ }
+ }
+ },
+ "BillingDetails": {
+ "description": "Contains billing details for the inventory",
+ "type": "object",
+ "properties": {
+ "billingType": {
+ "description": "Billing type for the inventory",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Billing status for the inventory",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CloudError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "details": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudError"
+ },
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalErrorInfo"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-external": true
+ },
+ "ConfigurationData": {
+ "description": "Contains information about inventory configuration",
+ "type": "object",
+ "properties": {
+ "familyIdentifier": {
+ "description": "Family identifier of inventory",
+ "type": "string",
+ "readOnly": true
+ },
+ "productLineIdentifier": {
+ "description": "Product Line identifier of inventory",
+ "type": "string",
+ "readOnly": true
+ },
+ "productIdentifier": {
+ "description": "Product identifier of inventory",
+ "type": "string",
+ "readOnly": true
+ },
+ "configurationIdentifier": {
+ "description": "Configuration identifier of inventory",
+ "type": "string",
+ "readOnly": true
+ },
+ "configurationIdentifierOnDevice": {
+ "description": "Configuration identifier on device - this is used in case of any mismatch\r\nbetween actual configuration on inventory and configuration stored in service",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ConfigurationDetails": {
+ "description": "Contains additional configuration details about inventory",
+ "type": "object",
+ "properties": {
+ "specifications": {
+ "description": "Collection of specification details about the inventory",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpecificationDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ConfigurationOnDevice": {
+ "description": "Configuration parameters for ManageInventoryMetadata call",
+ "required": [
+ "configurationIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "configurationIdentifier": {
+ "description": "Configuration identifier on device",
+ "type": "string"
+ }
+ }
+ },
+ "InventoryAdditionalDetails": {
+ "description": "Represents additional details about the partner inventory",
+ "type": "object",
+ "properties": {
+ "orderItem": {
+ "$ref": "#/definitions/AdditionalOrderItemDetails",
+ "description": "Represents additional details about the order item"
+ },
+ "inventoryMetadata": {
+ "description": "Contains inventory metadata",
+ "type": "string",
+ "readOnly": true
+ },
+ "configuration": {
+ "$ref": "#/definitions/ConfigurationDetails",
+ "description": "Represents additional details about the configuration",
+ "readOnly": true
+ },
+ "inventory": {
+ "$ref": "#/definitions/AdditionalInventoryDetails",
+ "description": "Represents additional data about the inventory",
+ "readOnly": true
+ },
+ "billing": {
+ "$ref": "#/definitions/BillingDetails",
+ "description": "Represents additional details about billing for the inventory",
+ "readOnly": true
+ },
+ "inventorySecrets": {
+ "description": "Represents secrets on the inventory",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "InventoryData": {
+ "description": "Contains basic information about inventory",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Inventory status",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Inventory location",
+ "type": "string",
+ "readOnly": true
+ },
+ "registrationAllowed": {
+ "description": "Boolean flag to indicate if registration is allowed",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "InventoryProperties": {
+ "description": "Represents inventory properties",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "Serial number of the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "orderItem": {
+ "$ref": "#/definitions/OrderItemData",
+ "description": "Represents basic order item data.",
+ "readOnly": true
+ },
+ "configuration": {
+ "$ref": "#/definitions/ConfigurationData",
+ "description": "Represents basic configuration data.",
+ "readOnly": true
+ },
+ "managementResource": {
+ "$ref": "#/definitions/ManagementResourceData",
+ "description": "Represents management resource data associated with inventory.",
+ "readOnly": true
+ },
+ "inventory": {
+ "$ref": "#/definitions/InventoryData",
+ "description": "Represents basic inventory data.",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Location of inventory",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "$ref": "#/definitions/InventoryAdditionalDetails",
+ "description": "Represents additional details of inventory",
+ "readOnly": true
+ }
+ }
+ },
+ "ManageInventoryMetadataRequest": {
+ "description": "Request body for ManageInventoryMetadata call",
+ "required": [
+ "inventoryMetadata"
+ ],
+ "type": "object",
+ "properties": {
+ "inventoryMetadata": {
+ "description": "Inventory metadata to be updated",
+ "type": "string"
+ },
+ "configurationOnDevice": {
+ "$ref": "#/definitions/ConfigurationOnDevice",
+ "description": "Inventory configuration to be updated"
+ }
+ }
+ },
+ "ManageLinkRequest": {
+ "description": "Request body for ManageLink call",
+ "required": [
+ "managementResourceArmId",
+ "operation",
+ "tenantId"
+ ],
+ "type": "object",
+ "properties": {
+ "managementResourceArmId": {
+ "description": "Arm Id of the management resource to which inventory is to be linked\r\nFor unlink operation, enter empty string",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to be performed - Link, Unlink, Relink",
+ "enum": [
+ "Link",
+ "Unlink",
+ "Relink"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ManageLinkOperation",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Link",
+ "description": "Link."
+ },
+ {
+ "value": "Unlink",
+ "description": "Unlink."
+ },
+ {
+ "value": "Relink",
+ "description": "Relink."
+ }
+ ]
+ }
+ },
+ "tenantId": {
+ "description": "Tenant ID of management resource associated with inventory",
+ "type": "string"
+ }
+ }
+ },
+ "ManagementResourceData": {
+ "description": "Contains information about management resource",
+ "type": "object",
+ "properties": {
+ "armId": {
+ "description": "Arm ID of management resource associated with inventory",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Tenant ID of management resource associated with inventory",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OrderItemData": {
+ "description": "Contains information about the order item to which inventory belongs",
+ "type": "object",
+ "properties": {
+ "armId": {
+ "description": "Arm ID of order item",
+ "type": "string",
+ "readOnly": true
+ },
+ "orderItemType": {
+ "description": "Order item type - purchase or rental",
+ "enum": [
+ "Purchase",
+ "Rental"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "OrderItemType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Purchase",
+ "description": "Purchase OrderItem."
+ },
+ {
+ "value": "Rental",
+ "description": "Rental OrderItem."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "StageDetails": {
+ "description": "Resource stage details.",
+ "type": "object",
+ "properties": {
+ "stageStatus": {
+ "description": "Stage status.",
+ "enum": [
+ "None",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "stageName": {
+ "description": "Stage name",
+ "enum": [
+ "DeviceOrdered",
+ "DevicePrepared",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy",
+ "Completed",
+ "CompletedWithErrors",
+ "Cancelled",
+ "Aborted",
+ "CompletedWithWarnings",
+ "ReadyToDispatchFromAzureDC",
+ "ReadyToReceiveAtAzureDC",
+ "Placed",
+ "InReview",
+ "Confirmed",
+ "ReadyForDispatch",
+ "Shipped",
+ "Delivered",
+ "InUse"
+ ],
+ "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": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "Current"
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ },
+ {
+ "value": "Placed",
+ "description": "Currently in draft mode and can still be cancelled"
+ },
+ {
+ "value": "InReview",
+ "description": "Order is currently in draft mode and can still be cancelled"
+ },
+ {
+ "value": "Confirmed",
+ "description": "Order is confirmed"
+ },
+ {
+ "value": "ReadyForDispatch",
+ "description": "Order is ready for dispatch"
+ },
+ {
+ "value": "Shipped",
+ "description": "Order is in transit to customer"
+ },
+ {
+ "value": "Delivered",
+ "description": "Order is delivered to customer"
+ },
+ {
+ "value": "InUse",
+ "description": "Order is in use at customer site"
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "Display name of the resource stage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Stage start time",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PartnerInventory": {
+ "description": "Represents partner inventory contract",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/InventoryProperties",
+ "description": "Inventory properties",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PartnerInventoryList": {
+ "description": "Represents the list of partner inventories",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of partner inventories",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PartnerInventory"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of partner inventories.",
+ "type": "string"
+ }
+ }
+ },
+ "SearchInventoriesRequest": {
+ "description": "Request body for SearchInventories call",
+ "required": [
+ "serialNumber",
+ "familyIdentifier"
+ ],
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "Serial number of the inventory",
+ "type": "string"
+ },
+ "familyIdentifier": {
+ "description": "Family identifier for inventory",
+ "type": "string"
+ }
+ }
+ },
+ "SpecificationDetails": {
+ "description": "Specification details for the inventory",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the specification property",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "Value of the specification property",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SubscriptionDetails": {
+ "description": "Contains subscription details",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Subscription Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "Subscription State",
+ "type": "string",
+ "readOnly": true
+ },
+ "quotaId": {
+ "description": "Subscription QuotaId",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "familyIdentifierParameter": {
+ "name": "familyIdentifier",
+ "in": "path",
+ "description": "Unique identifier for the product family",
+ "required": true,
+ "type": "string",
+ "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"
+ },
+ "serialNumberParameter": {
+ "name": "serialNumber",
+ "in": "path",
+ "description": "The serial number of the device",
+ "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/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/ListOperationsPartner.json b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/ListOperationsPartner.json
new file mode 100644
index 000000000000..8643c095d423
--- /dev/null
+++ b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/ListOperationsPartner.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/providers/Microsoft.EdgeOrderPartner/operations?api-version=2020-12-01-preview"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.EdgeOrderPartner/operations/read",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "Operations",
+ "operation": "List or Get Operations",
+ "description": "List or get the Operations"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrderPartner/searchInventories/action",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "ArmApiRes_Microsoft.EdgeOrderPartner"
+ },
+ "origin": "user",
+ "isDataAction": true
+ },
+ {
+ "name": "Microsoft.EdgeOrderPartner/locations/productFamilies/inventories/manageLink/action",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "ArmApiRes_inventories"
+ },
+ "origin": "user",
+ "isDataAction": true
+ },
+ {
+ "name": "Microsoft.EdgeOrderPartner/locations/productFamilies/inventories/manageInventoryMetadata/action",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "ArmApiRes_inventories"
+ },
+ "origin": "user",
+ "isDataAction": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/ManageInventoryMetadata.json b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/ManageInventoryMetadata.json
new file mode 100644
index 000000000000..284e53438bf0
--- /dev/null
+++ b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/ManageInventoryMetadata.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "b783ea86-c85c-4175-b76d-3992656af50d",
+ "location": "westus",
+ "serialNumber": "SerialNumber1",
+ "familyIdentifier": "AzureStackEdge",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/b783ea86-c85c-4175-b76d-3992656af50d/providers/Microsoft.EdgeOrderPartner/locations/westus/productFamilies/AzureStackEdge/inventories/SerialNumber1/manageInventoryMetadata?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "181"
+ ],
+ "manageInventoryMetadataRequest": {
+ "inventoryMetadata": "InventoryMetadata",
+ "configurationOnDevice": {
+ "configurationIdentifier": "EdgeP_High"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/ManageLink.json b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/ManageLink.json
new file mode 100644
index 000000000000..84903165558c
--- /dev/null
+++ b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/ManageLink.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "b783ea86-c85c-4175-b76d-3992656af50d",
+ "location": "westus",
+ "serialNumber": "SerialNumber1",
+ "familyIdentifier": "AzureStackEdge",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/b783ea86-c85c-4175-b76d-3992656af50d/providers/Microsoft.EdgeOrderPartner/locations/westus/productFamilies/AzureStackEdge/inventories/SerialNumber1/manageLink?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "144"
+ ],
+ "manageLinkRequest": {
+ "managementResourceArmId": "/subscriptions/c783ea86-c85c-4175-b76d-3992656af50d/resourceGroups/EdgeTestRG/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/TestEdgeDeviceName1",
+ "operation": "Link",
+ "tenantId": "a783ea86-c85c-4175-b76d-3992656af50d"
+ }
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/SearchInventories.json b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/SearchInventories.json
new file mode 100644
index 000000000000..9ce882e16954
--- /dev/null
+++ b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/SearchInventories.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "b783ea86-c85c-4175-b76d-3992656af50d",
+ "api-version": "2020-12-01-preview",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/b783ea86-c85c-4175-b76d-3992656af50d/providers/Microsoft.EdgeOrderPartner/searchInventories?api-version=2020-12-01-preview"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "75"
+ ],
+ "searchInventoriesRequest": {
+ "serialNumber": "SerialNumber1",
+ "familyIdentifier": "AzureStackEdge"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "serialNumber": "SerialNumber1",
+ "location": "westus",
+ "orderItem": {
+ "armId": "/subscriptions/b783ea86-c85c-4175-b76d-3992656af50d/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
+ "orderItemType": "Rental"
+ },
+ "configuration": {
+ "familyIdentifier": "AzureStackEdge",
+ "productLineIdentifier": "AzureStackEdgePL",
+ "productIdentifier": "AzureStackEdgeProGPU",
+ "configurationIdentifier": "EdgeP_Base",
+ "configurationIdentifierOnDevice": "EdgeP_High"
+ },
+ "managementResource": {
+ "armId": "/subscriptions/c783ea86-c85c-4175-b76d-3992656af50d/resourceGroups/EdgeTestRG/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/TestEdgeDeviceName1",
+ "tenantId": "a783ea86-c85c-4175-b76d-3992656af50d"
+ },
+ "inventory": {
+ "status": "Healthy",
+ "location": "Rack",
+ "registrationAllowed": true
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/SearchInventoriesDetails.json b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/SearchInventoriesDetails.json
new file mode 100644
index 000000000000..46191693dbae
--- /dev/null
+++ b/specification/edgeorderpartner/resource-manager/Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/examples/SearchInventoriesDetails.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId": "b783ea86-c85c-4175-b76d-3992656af50d",
+ "api-version": "2020-12-01-preview",
+ "$expand": "details",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/b783ea86-c85c-4175-b76d-3992656af50d/providers/Microsoft.EdgeOrderPartner/searchInventories?api-version=2020-12-01-preview&$expand=details"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "75"
+ ],
+ "searchInventoriesRequest": {
+ "serialNumber": "SerialNumber1",
+ "familyIdentifier": "AzureStackEdge"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "serialNumber": "SerialNumber1",
+ "location": "westus",
+ "orderItem": {
+ "armId": "/subscriptions/b783ea86-c85c-4175-b76d-3992656af50d/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders/TestOrderName1",
+ "orderItemType": "Rental"
+ },
+ "configuration": {
+ "familyIdentifier": "AzureStackEdge",
+ "productLineIdentifier": "AzureStackEdgePL",
+ "productIdentifier": "AzureStackEdgeProGPU",
+ "configurationIdentifier": "EdgeP_Base",
+ "configurationIdentifierOnDevice": "EdgeP_High"
+ },
+ "managementResource": {
+ "armId": "/subscriptions/c783ea86-c85c-4175-b76d-3992656af50d/resourceGroups/EdgeTestRG/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/TestEdgeDeviceName1",
+ "tenantId": "a783ea86-c85c-4175-b76d-3992656af50d"
+ },
+ "inventory": {
+ "status": "Healthy",
+ "location": "Rack",
+ "registrationAllowed": true
+ },
+ "details": {
+ "orderItem": {
+ "status": {
+ "stageStatus": "Succeeded",
+ "stageName": "Delivered",
+ "displayName": "Delivered - Succeeded",
+ "startTime": "2020-08-07T10:50:36.3341513+05:30"
+ },
+ "subscription": {
+ "id": "b783ea86-c85c-4175-b76d-3992656af50d",
+ "state": "Registered",
+ "quotaId": "Internal_2014-09-01"
+ }
+ },
+ "inventoryMetadata": "This is currently in Japan",
+ "configuration": {
+ "specifications": [
+ {
+ "name": "Cores",
+ "value": "24"
+ },
+ {
+ "name": "Memory",
+ "value": "128 GB"
+ },
+ {
+ "name": "Storage",
+ "value": "~8 TB"
+ }
+ ]
+ },
+ "inventory": {
+ "additionalData": {
+ "SourceCountry": "USA",
+ "ManuacturingYear": "2020"
+ }
+ },
+ "billing": {
+ "billingType": "Pav2",
+ "status": "InProgress"
+ },
+ "inventorySecrets": {
+ "PublicCert": ""
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorderpartner/resource-manager/readme.azureresourceschema.md b/specification/edgeorderpartner/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..54cb3c585254
--- /dev/null
+++ b/specification/edgeorderpartner/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-edgeorderpartner-2020-12-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-edgeorderpartner-2020-12-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-edgeorderpartner-2020-12-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/edgeorderpartner.json
+
+```
diff --git a/specification/edgeorderpartner/resource-manager/readme.md b/specification/edgeorderpartner/resource-manager/readme.md
new file mode 100644
index 000000000000..e6f66db1535b
--- /dev/null
+++ b/specification/edgeorderpartner/resource-manager/readme.md
@@ -0,0 +1,41 @@
+# EdgeOrderPartner
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for EdgeOrderPartner.
+
+
+
+---
+## Getting Started
+To build the SDK for EdgeOrderPartner, 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 EdgeOrderPartner API.
+
+``` yaml
+title: Edge Order Partner API's
+openapi-type: arm
+tag: package-2020-12-preview
+```
+
+### Tag: package-2020-12-preview
+
+These settings apply only when `--tag=package-2020-12-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-12-preview'
+input-file:
+- Microsoft.EdgeOrderPartner/preview/2020-12-01-preview/edgeorderpartner.json
+```
+---
\ No newline at end of file
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/elastic.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/elastic.json
new file mode 100644
index 000000000000..6de31a676f3a
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/elastic.json
@@ -0,0 +1,1356 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft.Elastic",
+ "version": "2020-07-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": {
+ "/providers/Microsoft.Elastic/operations": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all operations provided by Microsoft.Elastic.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Elastic/monitors": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all monitors under the specified subscription.",
+ "operationId": "Monitors_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_List": {
+ "$ref": "./examples/Monitors_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "List all monitors under the specified resource group.",
+ "operationId": "Monitors_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_ListByResourceGroup": {
+ "$ref": "./examples/Monitors_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}": {
+ "get": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "Get the properties of a specific monitor resource.",
+ "operationId": "Monitors_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_Get": {
+ "$ref": "./examples/Monitors_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "Create a monitor resource.",
+ "operationId": "Monitors_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Elastic monitor resource model",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Monitors_Create": {
+ "$ref": "./examples/Monitors_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "Update a monitor resource.",
+ "operationId": "Monitors_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Elastic resource model update parameters.",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResourceUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_Update": {
+ "$ref": "./examples/Monitors_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MonitorsResource"
+ ],
+ "summary": "Delete a monitor resource.",
+ "operationId": "Monitors_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Monitors_Delete": {
+ "$ref": "./examples/Monitors_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listMonitoredResources": {
+ "post": {
+ "tags": [
+ "MonitoredResources"
+ ],
+ "summary": "List the resources currently being monitored by the Elastic monitor resource.",
+ "operationId": "MonitoredResources_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoredResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "MonitoredResources_List": {
+ "$ref": "./examples/MonitoredResources_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/listDeploymentInfo": {
+ "post": {
+ "tags": [
+ "DeploymentInfo"
+ ],
+ "summary": "Fetch information regarding Elastic cloud deployment corresponding to the Elastic monitor resource.",
+ "operationId": "DeploymentInfo_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeploymentInfoResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeploymentInfo_List": {
+ "$ref": "./examples/DeploymentInfo_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules": {
+ "get": {
+ "tags": [
+ "Rules"
+ ],
+ "summary": "List the tag rules for a given monitor resource.",
+ "operationId": "TagRules_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRulesListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TagRules_List": {
+ "$ref": "./examples/TagRules_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/tagRules/{ruleSetName}": {
+ "put": {
+ "tags": [
+ "Rules"
+ ],
+ "summary": "Create or update a tag rule set for a given monitor resource.",
+ "operationId": "TagRules_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleSetNameParameter"
+ },
+ {
+ "description": "request body of MonitoringTagRules",
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TagRules_CreateOrUpdate": {
+ "$ref": "./examples/TagRules_CreateOrUpdate.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Rules"
+ ],
+ "summary": "Get a tag rule set for a given monitor resource.",
+ "operationId": "TagRules_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleSetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TagRules_Get": {
+ "$ref": "./examples/TagRules_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Rules"
+ ],
+ "summary": "Delete a tag rule set for a given monitor resource.",
+ "operationId": "TagRules_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleSetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderDefaultErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TagRules_Delete": {
+ "$ref": "./examples/TagRules_Delete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponseBody": {
+ "description": "Error response body.",
+ "title": "ErrorResponseBody",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Error target.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ }
+ },
+ "ResourceProviderDefaultErrorResponse": {
+ "description": "RP default error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Response body of Error",
+ "readOnly": true,
+ "$ref": "#/definitions/ErrorResponseBody"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Service provider, i.e., Microsoft.Elastic.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Type on which the operation is performed, e.g., 'monitors'.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type, e.g., read, write, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation, e.g., 'Write monitors'.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationResult": {
+ "description": "A Microsoft.Elastic REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name, i.e., {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "$ref": "#/definitions/OperationDisplay"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of GET request to list the Microsoft.Elastic operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations supported by the Microsoft.Elastic provider.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResult"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceSku": {
+ "description": "Microsoft.Elastic SKU.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the SKU.",
+ "type": "string"
+ }
+ }
+ },
+ "ProvisioningState": {
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleted",
+ "NotSpecified"
+ ],
+ "type": "string",
+ "description": "Provisioning state of Elastic resource.",
+ "title": "ProvisioningState",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningState"
+ }
+ },
+ "MonitoringStatus": {
+ "description": "Flag specifying if the resource monitoring is enabled or disabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "MonitoringStatus"
+ }
+ },
+ "ElasticCloudUser": {
+ "description": "Details of the user's elastic account.",
+ "type": "object",
+ "properties": {
+ "emailAddress": {
+ "description": "Email of the Elastic User Account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "User Id of the elastic account of the User.",
+ "type": "string",
+ "readOnly": true
+ },
+ "elasticCloudSsoDefaultUrl": {
+ "description": "Elastic cloud default dashboard sso URL of the Elastic user account.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ElasticCloudDeployment": {
+ "description": "Details of the user's elastic deployment associated with the monitor resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Elastic deployment name",
+ "type": "string",
+ "readOnly": true
+ },
+ "deploymentId": {
+ "description": "Elastic deployment Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureSubscriptionId": {
+ "description": "Associated Azure subscription Id for the elastic deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "elasticsearchRegion": {
+ "description": "Region where Deployment at Elastic side took place.",
+ "type": "string",
+ "readOnly": true
+ },
+ "elasticsearchServiceUrl": {
+ "description": "Elasticsearch ingestion endpoint of the Elastic deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kibanaServiceUrl": {
+ "description": "Kibana endpoint of the Elastic deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kibanaSsoUrl": {
+ "description": "Kibana dashboard sso URL of the Elastic deployment.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ElasticProperties": {
+ "description": "Elastic Resource Properties.",
+ "type": "object",
+ "properties": {
+ "elasticCloudUser": {
+ "description": "Details of the user's elastic account.",
+ "$ref": "#/definitions/ElasticCloudUser"
+ },
+ "elasticCloudDeployment": {
+ "description": "Details of the elastic cloud deployment.",
+ "$ref": "#/definitions/ElasticCloudDeployment"
+ }
+ }
+ },
+ "CompanyInfo": {
+ "description": "Company information of the user to be passed to partners.",
+ "type": "object",
+ "properties": {
+ "domain": {
+ "description": "Domain of the company",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "business": {
+ "description": "Business of the company",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "employeesNumber": {
+ "description": "Number of employees in the company",
+ "maxLength": 20,
+ "type": "string"
+ },
+ "state": {
+ "description": "State of the company location.",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "country": {
+ "description": "Country of the company location.",
+ "maxLength": 50,
+ "type": "string"
+ }
+ }
+ },
+ "UserInfo": {
+ "description": "User Information to be passed to partners.",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "description": "First name of the user",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "lastName": {
+ "description": "Last name of the user",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "companyName": {
+ "description": "Company name of the user",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "emailAddress": {
+ "description": "Email of the user used by Elastic for contacting them if needed",
+ "pattern": "^([^<>()\\[\\]\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\"]+)*)@(([a-zA-Z-_0-9]+\\.)+[a-zA-Z]{2,})$",
+ "type": "string"
+ },
+ "companyInfo": {
+ "description": "Company information of the user to be passed to partners.",
+ "$ref": "#/definitions/CompanyInfo"
+ }
+ }
+ },
+ "LiftrResourceCategories": {
+ "enum": [
+ "Unknown",
+ "MonitorLogs"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "LiftrResourceCategories"
+ },
+ "readOnly": true
+ },
+ "MonitorProperties": {
+ "description": "Properties specific to the monitor resource.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the monitor resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "monitoringStatus": {
+ "description": "Flag specifying if the resource monitoring is enabled or disabled.",
+ "$ref": "#/definitions/MonitoringStatus"
+ },
+ "elasticProperties": {
+ "description": "Elastic cloud properties.",
+ "$ref": "#/definitions/ElasticProperties"
+ },
+ "userInfo": {
+ "description": "User information.",
+ "$ref": "#/definitions/UserInfo",
+ "x-ms-mutability": [
+ "create"
+ ]
+ },
+ "liftrResourceCategory": {
+ "$ref": "#/definitions/LiftrResourceCategories"
+ },
+ "liftrResourcePreference": {
+ "description": "The priority of the resource.",
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedIdentityTypes": {
+ "enum": [
+ "SystemAssigned"
+ ],
+ "type": "string",
+ "description": "Managed Identity types.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ManagedIdentityTypes"
+ }
+ },
+ "IdentityProperties": {
+ "description": "Identity properties.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The identity ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Managed identity type.",
+ "$ref": "#/definitions/ManagedIdentityTypes"
+ }
+ }
+ },
+ "ElasticMonitorResource": {
+ "description": "Monitor resource.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "ARM id of the monitor resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the monitor resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the monitor resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "SKU of the monitor resource.",
+ "$ref": "#/definitions/ResourceSku"
+ },
+ "properties": {
+ "description": "Properties of the monitor resource.",
+ "$ref": "#/definitions/MonitorProperties",
+ "x-ms-client-flatten": false
+ },
+ "identity": {
+ "description": "Identity properties of the monitor resource.",
+ "$ref": "#/definitions/IdentityProperties"
+ },
+ "tags": {
+ "description": "The tags of the monitor resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "description": "The location of the monitor resource",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "ElasticMonitorResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElasticMonitorResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "ElasticMonitorResourceUpdateParameters": {
+ "description": "Monitor resource update parameters.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "elastic monitor resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SendingLogs": {
+ "enum": [
+ "True",
+ "False"
+ ],
+ "type": "string",
+ "description": "Flag indicating the status of the resource for sending logs operation to Elastic.",
+ "title": "SendingLogs",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SendingLogs"
+ }
+ },
+ "MonitoredResource": {
+ "description": "The properties of a resource currently being monitored by the Elastic monitor resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM id of the resource.",
+ "type": "string"
+ },
+ "sendingLogs": {
+ "description": "Flag indicating the status of the resource for sending logs operation to Elastic.",
+ "$ref": "#/definitions/SendingLogs"
+ },
+ "reasonForLogsStatus": {
+ "description": "Reason for why the resource is sending logs (or why it is not sending).",
+ "type": "string"
+ }
+ }
+ },
+ "MonitoredResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MonitoredResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "TagAction": {
+ "description": "Valid actions for a filtering tag. Exclusion takes priority over inclusion.",
+ "enum": [
+ "Include",
+ "Exclude"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "TagAction"
+ }
+ },
+ "FilteringTag": {
+ "description": "The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name (also known as the key) of the tag.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the tag.",
+ "type": "string"
+ },
+ "action": {
+ "description": "Valid actions for a filtering tag.",
+ "$ref": "#/definitions/TagAction"
+ }
+ }
+ },
+ "LogRules": {
+ "description": "Set of rules for sending logs for the Monitor resource.",
+ "type": "object",
+ "properties": {
+ "sendAadLogs": {
+ "description": "Flag specifying if AAD logs should be sent for the Monitor resource.",
+ "type": "boolean"
+ },
+ "sendSubscriptionLogs": {
+ "description": "Flag specifying if subscription logs should be sent for the Monitor resource.",
+ "type": "boolean"
+ },
+ "sendActivityLogs": {
+ "description": "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource.",
+ "type": "boolean"
+ },
+ "filteringTags": {
+ "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilteringTag"
+ }
+ }
+ }
+ },
+ "MonitoringTagRulesProperties": {
+ "description": "Definition of the properties for a TagRules resource.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the monitoring tag rules.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "logRules": {
+ "description": "Rules for sending logs.",
+ "$ref": "#/definitions/LogRules"
+ }
+ }
+ },
+ "MonitoringTagRules": {
+ "description": "Capture logs and metrics of Azure resources based on ARM tags.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "name": {
+ "description": "Name of the rule set.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The id of the rule set.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the rule set.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Properties of the monitoring tag rules.",
+ "$ref": "#/definitions/MonitoringTagRulesProperties",
+ "x-ms-client-flatten": false
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "MonitoringTagRulesListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ },
+ "ElasticDeploymentStatus": {
+ "description": "Flag specifying if the Elastic deployment status is healthy or not.",
+ "enum": [
+ "Healthy",
+ "Unhealthy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ElasticDeploymentStatus"
+ }
+ },
+ "DeploymentInfoResponse": {
+ "description": "The properties of deployment in Elastic cloud corresponding to the Elastic monitor resource.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The Elastic deployment status.",
+ "$ref": "#/definitions/ElasticDeploymentStatus",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Version of the elasticsearch in Elastic cloud deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "memoryCapacity": {
+ "description": "RAM capacity of the elasticsearch in Elastic cloud deployment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskCapacity": {
+ "description": "Disk capacity of the elasticsearch in Elastic cloud deployment.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version to be used with the HTTP request.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "2020-07-01-preview"
+ ]
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the Elastic resource belongs.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "MonitorNameParameter": {
+ "in": "path",
+ "name": "monitorName",
+ "description": "Monitor resource name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RuleSetNameParameter": {
+ "in": "path",
+ "name": "ruleSetName",
+ "description": "Tag Rule Set resource name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/DeploymentInfo_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/DeploymentInfo_List.json
new file mode 100644
index 000000000000..334c276538dd
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/DeploymentInfo_List.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Healthy",
+ "version": "7.9.3",
+ "memoryCapacity": "1024",
+ "diskCapacity": "245760"
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/MonitoredResources_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/MonitoredResources_List.json
new file mode 100644
index 000000000000..fa4030ec7960
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/MonitoredResources_List.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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",
+ "sendingLogs": "True",
+ "reasonForLogsStatus": "CapturedByRules"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Create.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Create.json
new file mode 100644
index 000000000000..6c53018b9684
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Create.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "name": "myMonitor",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "userInfo": {
+ "firstName": "Alice",
+ "lastName": "Bob",
+ "companyName": "Microsoft",
+ "emailAddress": "alice@microsoft.com",
+ "companyInfo": {
+ "domain": "microsoft.com",
+ "business": "Technology",
+ "employeeNumber": "10000",
+ "state": "WA",
+ "country": "US"
+ }
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "provisioningState": "Accepted",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Delete.json
new file mode 100644
index 000000000000..1c07f5cbf779
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Get.json
new file mode 100644
index 000000000000..e483049e9e7d
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Get.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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.Elastic/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_List.json
new file mode 100644
index 000000000000..9083ac122807
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_List.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_ListByResourceGroup.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_ListByResourceGroup.json
new file mode 100644
index 000000000000..9e4531d0437a
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_ListByResourceGroup.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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.Elastic/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Update.json
new file mode 100644
index 000000000000..248f8ed7a2d7
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Monitors_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "name": "myMonitor",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "userInfo": {
+ "firstName": "Alice",
+ "lastName": "Bob",
+ "companyName": "Microsoft",
+ "emailAddress": "alice@microsoft.com",
+ "companyInfo": {
+ "domain": "microsoft.com",
+ "business": "Technology",
+ "employeeNumber": "10000",
+ "state": "WA",
+ "country": "US"
+ }
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Elastic/monitors",
+ "sku": {
+ "name": "free_Monthly"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "elasticProperties": {
+ "elasticCloudUser": {
+ "emailAddress": "alice@microsoft.com",
+ "id": "myid123",
+ "elasticCloudSsoDefaultUrl": "https://examplessourl.com"
+ },
+ "elasticCloudDeployment": {
+ "name": "deploymentname",
+ "deploymentId": "deployment_id",
+ "azureSubscriptionId": "00000000-0000-0000-0000-000000000000",
+ "elasticsearchRegion": "azure-westus2",
+ "elasticsearchServiceUrl": "https://elasticsearchendpoint.com",
+ "kibanaServiceUrl": "https://kibanaserviceurl.com",
+ "kibanaSsoUrl": "https://kibanssourl.com"
+ }
+ },
+ "liftrResourceCategory": "MonitorLogs",
+ "liftrResourcePreference": 0
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Operations_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..179357984291
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/Operations_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Elastic/monitors/write",
+ "display": {
+ "provider": "Microsoft.Elastic",
+ "resource": "monitors",
+ "operation": "write",
+ "description": "Write monitors resource"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_CreateOrUpdate.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_CreateOrUpdate.json
new file mode 100644
index 000000000000..edb352345e32
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_CreateOrUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "ruleSetName": "default",
+ "requestBody": {
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Datadog/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Datadog/monitors/tagRules",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Delete.json
new file mode 100644
index 000000000000..b3269012a4e6
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "ruleSetName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Get.json
new file mode 100644
index 000000000000..abf649a1b34e
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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": {
+ "provisioningState": "Succeeded",
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_List.json
new file mode 100644
index 000000000000..7d47d2de0855
--- /dev/null
+++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2020-07-01-preview/examples/TagRules_List.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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": {
+ "provisioningState": "Succeeded",
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/elastic/resource-manager/readme.az.md b/specification/elastic/resource-manager/readme.az.md
new file mode 100644
index 000000000000..6b8c84d1dc8d
--- /dev/null
+++ b/specification/elastic/resource-manager/readme.az.md
@@ -0,0 +1,28 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage.
+
+``` yaml $(az) && $(target-mode) != 'core'
+az:
+ extensions: elastic
+ namespace: azure.mgmt.elastic
+ package-name: azure-mgmt-elastic
+az-output-folder: $(azure-cli-extension-folder)/src/elastic
+python-sdk-output-folder: "$(az-output-folder)/azext_elastic/vendored_sdks/elastic"
+# add additional configuration here specific for Azure CLI
+# refer to the faq.md for more details
+```
+
+
+
+This is for command modules that already in azure cli main repo.
+``` yaml $(az) && $(target-mode) == 'core'
+az:
+ extensions: elastic
+ namespace: azure.mgmt.elastic
+ package-name: azure-mgmt-elastic
+az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/elastic
+python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/elastic"
+```
\ No newline at end of file
diff --git a/specification/elastic/resource-manager/readme.azureresourceschema.md b/specification/elastic/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b48b85d6b5c9
--- /dev/null
+++ b/specification/elastic/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-elastic-2020-07-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-elastic-2020-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-elastic-2020-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Elastic/preview/2020-07-01-preview/elastic.json
+
+```
diff --git a/specification/elastic/resource-manager/readme.cli.md b/specification/elastic/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..c6cf6ad37ea4
--- /dev/null
+++ b/specification/elastic/resource-manager/readme.cli.md
@@ -0,0 +1 @@
+## CLI Common Settings for all the command line tools
\ No newline at end of file
diff --git a/specification/elastic/resource-manager/readme.csharp.md b/specification/elastic/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..aeb042416b76
--- /dev/null
+++ b/specification/elastic/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.Elastic
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/elastic/Microsoft.Azure.Management.Elastic/src/Generated
+ clear-output-folder: true
+```
diff --git a/specification/elastic/resource-manager/readme.go.md b/specification/elastic/resource-manager/readme.go.md
new file mode 100644
index 000000000000..7e832819f32b
--- /dev/null
+++ b/specification/elastic/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: elastic
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-07-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)
+```
diff --git a/specification/elastic/resource-manager/readme.md b/specification/elastic/resource-manager/readme.md
new file mode 100644
index 000000000000..4355eae409b9
--- /dev/null
+++ b/specification/elastic/resource-manager/readme.md
@@ -0,0 +1,83 @@
+# elastic
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for elastic.
+
+## 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 elastic.
+
+```yaml
+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.Elastic/preview/2020-07-01-preview/elastic.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-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js elastic/resource-manager
+ - repo: azure-cli-extensions
+```
+## Az
+
+See configuration in [readme.az.md](./readme.az.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/elastic/resource-manager/readme.python.md b/specification/elastic/resource-manager/readme.python.md
new file mode 100644
index 000000000000..af0e6a0b3c2e
--- /dev/null
+++ b/specification/elastic/resource-manager/readme.python.md
@@ -0,0 +1,24 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.elastic
+package-name: azure-mgmt-elastic
+package-version: 1.0.0b1
+clear-output-folder: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update'
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/elastic/azure-mgmt-elastic/azure/mgmt/elastic
+```
+
+``` yaml $(python) && $(python-mode) == 'create'
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/elastic/azure-mgmt-elastic
+```
\ No newline at end of file
diff --git a/specification/elastic/resource-manager/readme.typescript.md b/specification/elastic/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..c71866e83f78
--- /dev/null
+++ b/specification/elastic/resource-manager/readme.typescript.md
@@ -0,0 +1,14 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-elastic"
+ output-folder: "$(typescript-sdks-folder)/sdk/elastic/arm-elastic"
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/engagementfabric/resource-manager/readme.go.md b/specification/engagementfabric/resource-manager/readme.go.md
index c7fb7ff921f9..fb38e49db118 100644
--- a/specification/engagementfabric/resource-manager/readme.go.md
+++ b/specification/engagementfabric/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: engagementfabric
clear-output-folder: true
```
diff --git a/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
index d13e2d9eb9ae..bf6771afeb16 100644
--- a/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
+++ b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
@@ -8,7 +8,7 @@
"paths": {},
"definitions": {
"AppConfigurationKeyValueModifiedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.AppConfiguration.KeyValueModified event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.AppConfiguration.KeyValueModified event.",
"type": "object",
"properties": {
"key": {
@@ -30,7 +30,7 @@
}
},
"AppConfigurationKeyValueDeletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.AppConfiguration.KeyValueDeleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.AppConfiguration.KeyValueDeleted event.",
"type": "object",
"properties": {
"key": {
diff --git a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/RedisCache.json b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/RedisCache.json
index 7bab3caac3a0..dafc15f2382b 100644
--- a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/RedisCache.json
+++ b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/RedisCache.json
@@ -8,7 +8,7 @@
"paths": {},
"definitions": {
"RedisPatchingCompletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Cache.PatchingCompleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Cache.PatchingCompleted event.",
"type": "object",
"properties": {
"timestamp": {
@@ -27,7 +27,7 @@
}
},
"RedisScalingCompletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Cache.ScalingCompleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Cache.ScalingCompleted event.",
"type": "object",
"properties": {
"timestamp": {
@@ -46,7 +46,7 @@
}
},
"RedisExportRDBCompletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Cache.ExportRDBCompleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Cache.ExportRDBCompleted event.",
"type": "object",
"properties": {
"timestamp": {
@@ -65,7 +65,7 @@
}
},
"RedisImportRDBCompletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Cache.ImportRDBCompleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Cache.ImportRDBCompleted event.",
"type": "object",
"properties": {
"timestamp": {
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
index 1836a22c9559..948f156a5673 100644
--- a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
@@ -8,7 +8,7 @@
"paths": {},
"definitions": {
"AcsChatMessageReceivedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageReceived event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceived event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatMessageEventBaseProperties"
@@ -22,7 +22,7 @@
}
},
"AcsChatMessageReceivedInThreadEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageReceivedInThread event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceivedInThread event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatMessageEventInThreadBaseProperties"
@@ -36,7 +36,7 @@
}
},
"AcsChatMessageEditedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageEdited event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageEdited event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatMessageEventBaseProperties"
@@ -55,7 +55,7 @@
}
},
"AcsChatMessageEditedInThreadEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageEditedInThread event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageEditedInThread event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatMessageEventInThreadBaseProperties"
@@ -74,7 +74,7 @@
}
},
"AcsChatMessageDeletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageDeleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageDeleted event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatMessageEventBaseProperties"
@@ -89,7 +89,7 @@
}
},
"AcsChatMessageDeletedInThreadEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatMessageDeletedInThread event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageDeletedInThread event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatMessageEventInThreadBaseProperties"
@@ -104,7 +104,7 @@
}
},
"AcsChatThreadCreatedWithUserEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadCreatedWithUser event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadCreatedWithUser event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatThreadEventBaseProperties"
@@ -132,7 +132,7 @@
}
},
"AcsChatThreadCreatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadCreated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadCreated event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatThreadEventInThreadBaseProperties"
@@ -160,7 +160,7 @@
}
},
"AcsChatThreadWithUserDeletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadWithUserDeleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadWithUserDeleted event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatThreadEventBaseProperties"
@@ -179,7 +179,7 @@
}
},
"AcsChatThreadDeletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadDeleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadDeleted event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatThreadEventInThreadBaseProperties"
@@ -198,7 +198,7 @@
}
},
"AcsChatThreadPropertiesUpdatedPerUserEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatThreadEventBaseProperties"
@@ -224,7 +224,7 @@
}
},
"AcsChatThreadPropertiesUpdatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatThreadPropertiesUpdated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadPropertiesUpdated event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatThreadEventInThreadBaseProperties"
@@ -250,7 +250,7 @@
}
},
"AcsChatParticipantAddedToThreadWithUserEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatParticipantAddedToThreadWithUser event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatParticipantAddedToThreadWithUser event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatThreadEventBaseProperties"
@@ -273,7 +273,7 @@
}
},
"AcsChatParticipantRemovedFromThreadWithUserEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatParticipantRemovedFromThreadWithUser event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatParticipantRemovedFromThreadWithUser event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatThreadEventBaseProperties"
@@ -296,7 +296,7 @@
}
},
"AcsChatParticipantAddedToThreadEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatParticipantAddedToThread event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadParticipantAdded event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatEventInThreadBaseProperties"
@@ -324,7 +324,7 @@
}
},
"AcsChatParticipantRemovedFromThreadEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.ChatParticipantRemovedFromThread event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatThreadParticipantRemoved event.",
"allOf": [
{
"$ref": "#/definitions/AcsChatEventInThreadBaseProperties"
@@ -352,7 +352,7 @@
}
},
"AcsSmsDeliveryReportReceivedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSDeliveryReportReceived event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.SMSDeliveryReportReceived event.",
"allOf": [
{
"$ref": "#/definitions/AcsSmsEventBaseProperties"
@@ -378,11 +378,15 @@
"description": "The time at which the SMS delivery report was received",
"format": "date-time",
"type": "string"
+ },
+ "tag": {
+ "description": "Customer Content",
+ "type": "string"
}
}
},
"AcsSmsReceivedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Communication.SMSReceived event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.SMSReceived event.",
"allOf": [
{
"$ref": "#/definitions/AcsSmsEventBaseProperties"
@@ -400,6 +404,30 @@
}
}
},
+ "AcsRecordingFileStatusUpdatedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.RecordingFileStatusUpdated event.",
+ "properties": {
+ "recordingStorageInfo": {
+ "description": "The details of recording storage information",
+ "$ref": "#/definitions/AcsRecordingStorageInfoProperties",
+ "type": "object"
+ },
+ "recordingStartTime": {
+ "description": "The time at which the recording started",
+ "format": "date-time",
+ "type": "string"
+ },
+ "recordingDurationMs": {
+ "description": "The recording duration in milliseconds",
+ "format": "int64",
+ "type": "integer"
+ },
+ "sessionEndReason": {
+ "description": "The reason for ending recording session",
+ "type": "string"
+ }
+ }
+ },
"AcsChatThreadEventBaseProperties": {
"description": "Schema of common properties of all chat thread events",
"allOf": [
@@ -516,6 +544,10 @@
"description": "Schema of common properties of all thread-level chat events",
"type": "object",
"properties": {
+ "transactionId": {
+ "description": "The transaction id will be used as co-relation vector",
+ "type": "string"
+ },
"threadId": {
"description": "The chat thread id",
"type": "string"
@@ -590,6 +622,38 @@
"type": "integer"
}
}
+ },
+ "AcsRecordingStorageInfoProperties": {
+ "description": "Schema for all properties of Recording Storage Information.",
+ "type": "object",
+ "properties": {
+ "recordingChunks": {
+ "description": "List of details of recording chunks information",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AcsRecordingChunkInfoProperties"
+ }
+ }
+ }
+ },
+ "AcsRecordingChunkInfoProperties": {
+ "description": "Schema for all properties of Recording Chunk Information.",
+ "type": "object",
+ "properties": {
+ "documentId": {
+ "description": "The documentId of the recording chunk",
+ "type": "string"
+ },
+ "index": {
+ "description": "The index of the recording chunk",
+ "type": "integer",
+ "format": "int64"
+ },
+ "endReason": {
+ "description": "The reason for ending the recording chunk",
+ "type": "string"
+ }
+ }
}
}
}
diff --git a/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
index b70b49b75ed7..5b2db928b4e3 100644
--- a/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
+++ b/specification/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
@@ -262,7 +262,7 @@
"description": "Properties of an event published to an Event Grid topic using a custom schema"
},
"SubscriptionValidationEventData": {
- "description": "Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SubscriptionValidationEvent.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SubscriptionValidationEvent event.",
"type": "object",
"properties": {
"validationCode": {
@@ -288,7 +288,7 @@
}
},
"SubscriptionDeletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SubscriptionDeletedEvent.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.EventGrid.SubscriptionDeletedEvent event.",
"type": "object",
"properties": {
"eventSubscriptionId": {
diff --git a/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json b/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json
index b867113c2e6f..bd84945c2413 100644
--- a/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json
+++ b/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/EventHub.json
@@ -8,7 +8,7 @@
"paths": {},
"definitions": {
"EventHubCaptureFileCreatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.EventHub.CaptureFileCreated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.EventHub.CaptureFileCreated event.",
"type": "object",
"properties": {
"fileurl": {
diff --git a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
index acd30d40cc77..35ded41e7b17 100644
--- a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
+++ b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
@@ -8,7 +8,7 @@
"paths": {},
"definitions": {
"KeyVaultCertificateNewVersionCreatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an CertificateNewVersionCreated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.CertificateNewVersionCreated event.",
"type": "object",
"properties": {
"id": {
@@ -42,7 +42,7 @@
}
},
"KeyVaultCertificateNearExpiryEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an CertificateNearExpiry event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.CertificateNearExpiry event.",
"type": "object",
"properties": {
"id": {
@@ -76,7 +76,7 @@
}
},
"KeyVaultCertificateExpiredEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an CertificateExpired event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.CertificateExpired event.",
"type": "object",
"properties": {
"id": {
@@ -110,7 +110,7 @@
}
},
"KeyVaultKeyNewVersionCreatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an KeyNewVersionCreated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.KeyNewVersionCreated event.",
"type": "object",
"properties": {
"id": {
@@ -144,7 +144,7 @@
}
},
"KeyVaultKeyNearExpiryEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an KeyNearExpiry event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.KeyNearExpiry event.",
"type": "object",
"properties": {
"id": {
@@ -178,7 +178,7 @@
}
},
"KeyVaultKeyExpiredEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an KeyExpired event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.KeyExpired event.",
"type": "object",
"properties": {
"id": {
@@ -212,7 +212,7 @@
}
},
"KeyVaultSecretNewVersionCreatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an SecretNewVersionCreated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.SecretNewVersionCreated event.",
"type": "object",
"properties": {
"id": {
@@ -246,7 +246,7 @@
}
},
"KeyVaultSecretNearExpiryEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an SecretNearExpiry event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.SecretNearExpiry event.",
"type": "object",
"properties": {
"id": {
@@ -280,7 +280,7 @@
}
},
"KeyVaultSecretExpiredEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an SecretExpired event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.SecretExpired event.",
"type": "object",
"properties": {
"id": {
@@ -314,7 +314,7 @@
}
},
"KeyVaultVaultAccessPolicyChangedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an VaultAccessPolicyChanged event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.KeyVault.VaultAccessPolicyChanged event.",
"type": "object",
"properties": {
"id": {
diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json
index 7f2bc6f2bc4a..af55a496dbe4 100644
--- a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json
+++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json
@@ -8,7 +8,7 @@
"paths": {},
"definitions": {
"MachineLearningServicesModelRegisteredEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.ModelRegistered event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.ModelRegistered event.",
"type": "object",
"properties": {
"modelName": {
@@ -30,7 +30,7 @@
}
},
"MachineLearningServicesModelDeployedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.ModelDeployed event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.ModelDeployed event.",
"type": "object",
"properties": {
"serviceName": {
@@ -56,7 +56,7 @@
}
},
"MachineLearningServicesRunCompletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.RunCompleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.RunCompleted event.",
"type": "object",
"properties": {
"experimentId": {
@@ -86,7 +86,7 @@
}
},
"MachineLearningServicesDatasetDriftDetectedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.DatasetDriftDetected event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.DatasetDriftDetected event.",
"type": "object",
"properties": {
"dataDriftId": {
@@ -127,7 +127,7 @@
}
},
"MachineLearningServicesRunStatusChangedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.MachineLearningServices.RunStatusChanged event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.MachineLearningServices.RunStatusChanged event.",
"type": "object",
"properties": {
"experimentId": {
diff --git a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json
index e13645591698..2f89f7fb0bea 100644
--- a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json
+++ b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json
@@ -368,7 +368,7 @@
},
"MediaJobOutputProgressEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobOutputProgress",
- "description": "Job Output Progress Event Data.",
+ "description": "Job Output Progress Event Data. Schema of the Data property of an EventGridEvent for a Microsoft.Media.JobOutputProgress event.",
"type": "object",
"properties": {
"label": {
@@ -464,7 +464,7 @@
],
"properties": {},
"type": "object",
- "description": "Job scheduled event data"
+ "description": "Job scheduled event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobScheduled event."
},
"MediaJobProcessingEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobProcessing",
@@ -475,7 +475,7 @@
],
"properties": {},
"type": "object",
- "description": "Job processing event data"
+ "description": "Job processing event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobProcessing event."
},
"MediaJobCancelingEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobCanceling",
@@ -486,7 +486,7 @@
],
"properties": {},
"type": "object",
- "description": "Job canceling event data"
+ "description": "Job canceling event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobCanceling event."
},
"MediaJobFinishedEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobFinished",
@@ -505,7 +505,7 @@
}
},
"type": "object",
- "description": "Job finished event data"
+ "description": "Job finished event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobFinished event."
},
"MediaJobCanceledEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobCanceled",
@@ -524,7 +524,7 @@
}
},
"type": "object",
- "description": "Job canceled event data"
+ "description": "Job canceled event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobCanceled event."
},
"MediaJobErroredEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobErrored",
@@ -543,7 +543,7 @@
}
},
"type": "object",
- "description": "Job error state event data"
+ "description": "Job error state event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobErrored event."
},
"MediaJobOutputCanceledEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobOutputCanceled",
@@ -554,7 +554,7 @@
],
"properties": {},
"type": "object",
- "description": "Job output canceled event data"
+ "description": "Job output canceled event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobOutputCanceled event."
},
"MediaJobOutputCancelingEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobOutputCanceling",
@@ -565,7 +565,7 @@
],
"properties": {},
"type": "object",
- "description": "Job output canceling event data"
+ "description": "Job output canceling event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobOutputCanceling event."
},
"MediaJobOutputErroredEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobOutputErrored",
@@ -576,7 +576,7 @@
],
"properties": {},
"type": "object",
- "description": "Job output error event data"
+ "description": "Job output error event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobOutputErrored event."
},
"MediaJobOutputFinishedEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobOutputFinished",
@@ -587,7 +587,7 @@
],
"properties": {},
"type": "object",
- "description": "Job output finished event data"
+ "description": "Job output finished event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobOutputFinished event."
},
"MediaJobOutputProcessingEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobOutputProcessing",
@@ -598,7 +598,7 @@
],
"properties": {},
"type": "object",
- "description": "Job output processing event data"
+ "description": "Job output processing event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobOutputProcessing event."
},
"MediaJobOutputScheduledEventData": {
"x-ms-discriminator-value": "#Microsoft.Media.JobOutputScheduled",
@@ -609,7 +609,7 @@
],
"properties": {},
"type": "object",
- "description": "Job output scheduled event data"
+ "description": "Job output scheduled event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.JobOutputScheduled event."
},
"MediaLiveEventEncoderConnectedEventData": {
"properties": {
@@ -635,7 +635,7 @@
}
},
"type": "object",
- "description": "Encoder connect event data."
+ "description": "Encoder connect event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventEncoderConnected event."
},
"MediaLiveEventConnectionRejectedEventData": {
"properties": {
@@ -666,7 +666,7 @@
}
},
"type": "object",
- "description": "Encoder connection rejected event data."
+ "description": "Encoder connection rejected event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventConnectionRejected event."
},
"MediaLiveEventEncoderDisconnectedEventData": {
"properties": {
@@ -697,7 +697,7 @@
}
},
"type": "object",
- "description": "Encoder disconnected event data."
+ "description": "Encoder disconnected event data. Schema of the Data property of an EventGridEvent for a Microsoft.Media.LiveEventEncoderDisconnected event."
},
"MediaLiveEventIncomingStreamReceivedEventData": {
"properties": {
@@ -749,7 +749,7 @@
}
},
"type": "object",
- "description": "Encoder connect event data."
+ "description": "Encoder connect event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIncomingStreamReceived event."
},
"MediaLiveEventIncomingStreamsOutOfSyncEventData": {
"properties": {
@@ -785,7 +785,7 @@
}
},
"type": "object",
- "description": "Incoming streams out of sync event data."
+ "description": "Incoming streams out of sync event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIncomingStreamsOutOfSync event."
},
"MediaLiveEventIncomingVideoStreamsOutOfSyncEventData": {
"properties": {
@@ -816,7 +816,7 @@
}
},
"type": "object",
- "description": "Incoming video stream out of synch event data."
+ "description": "Incoming video stream out of synch event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIncomingVideoStreamsOutOfSync event."
},
"MediaLiveEventIncomingDataChunkDroppedEventData": {
"properties": {
@@ -853,7 +853,7 @@
}
},
"type": "object",
- "description": "Ingest fragment dropped event data."
+ "description": "Ingest fragment dropped event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIncomingDataChunkDropped event."
},
"MediaLiveEventIngestHeartbeatEventData": {
"properties": {
@@ -924,7 +924,7 @@
}
},
"type": "object",
- "description": "Ingest fragment dropped event data."
+ "description": "Ingest fragment dropped event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIngestHeartbeat event."
},
"MediaLiveEventTrackDiscontinuityDetectedEventData": {
"properties": {
@@ -966,7 +966,7 @@
}
},
"type": "object",
- "description": "Ingest track discontinuity detected event data."
+ "description": "Ingest track discontinuity detected event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventTrackDiscontinuityDetected event."
}
}
}
diff --git a/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/PolicyInsights.json b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/PolicyInsights.json
new file mode 100644
index 000000000000..5bdda2224b8d
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/PolicyInsights.json
@@ -0,0 +1,116 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure Policy events published to Azure Event Grid",
+ "description": "Describes the schema of the Azure Policy events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
+ },
+ "paths": {},
+ "definitions": {
+ "PolicyInsightsPolicyStateCreatedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.PolicyInsights.PolicyStateCreated event.",
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "description": "The time that the resource was scanned by Azure Policy in the Universal ISO 8601 DateTime format yyyy-MM-ddTHH:mm:ss.fffffffZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "policyAssignmentId": {
+ "description": "The resource ID of the policy assignment.",
+ "type": "string"
+ },
+ "policyDefinitionId": {
+ "description": "The resource ID of the policy definition.",
+ "type": "string"
+ },
+ "policyDefinitionReferenceId": {
+ "description": "The reference ID for the policy definition inside the initiative definition, if the policy assignment is for an initiative. May be empty.",
+ "type": "string"
+ },
+ "complianceState": {
+ "description": "The compliance state of the resource with respect to the policy assignment.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription ID of the resource.",
+ "type": "string"
+ },
+ "complianceReasonCode": {
+ "description": "The compliance reason code. May be empty.",
+ "type": "string"
+ }
+ }
+ },
+ "PolicyInsightsPolicyStateChangedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.PolicyInsights.PolicyStateChanged event.",
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "description": "The time that the resource was scanned by Azure Policy in the Universal ISO 8601 DateTime format yyyy-MM-ddTHH:mm:ss.fffffffZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "policyAssignmentId": {
+ "description": "The resource ID of the policy assignment.",
+ "type": "string"
+ },
+ "policyDefinitionId": {
+ "description": "The resource ID of the policy definition.",
+ "type": "string"
+ },
+ "policyDefinitionReferenceId": {
+ "description": "The reference ID for the policy definition inside the initiative definition, if the policy assignment is for an initiative. May be empty.",
+ "type": "string"
+ },
+ "complianceState": {
+ "description": "The compliance state of the resource with respect to the policy assignment.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription ID of the resource.",
+ "type": "string"
+ },
+ "complianceReasonCode": {
+ "description": "The compliance reason code. May be empty.",
+ "type": "string"
+ }
+ }
+ },
+ "PolicyInsightsPolicyStateDeletedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.PolicyInsights.PolicyStateDeleted event.",
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "description": "The time that the resource was scanned by Azure Policy in the Universal ISO 8601 DateTime format yyyy-MM-ddTHH:mm:ss.fffffffZ.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "policyAssignmentId": {
+ "description": "The resource ID of the policy assignment.",
+ "type": "string"
+ },
+ "policyDefinitionId": {
+ "description": "The resource ID of the policy definition.",
+ "type": "string"
+ },
+ "policyDefinitionReferenceId": {
+ "description": "The reference ID for the policy definition inside the initiative definition, if the policy assignment is for an initiative. May be empty.",
+ "type": "string"
+ },
+ "complianceState": {
+ "description": "The compliance state of the resource with respect to the policy assignment.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "The subscription ID of the resource.",
+ "type": "string"
+ },
+ "complianceReasonCode": {
+ "description": "The compliance reason code. May be empty.",
+ "type": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json
index adae47c4a5df..8606b4fe0349 100644
--- a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/Resources.json
@@ -258,7 +258,7 @@
}
},
"ResourceDeleteCancelData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Resources.ResourceDeleteCancel event. This is raised when a resource delete operation is canceled.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceDeleteCancel event. This is raised when a resource delete operation is canceled.",
"type": "object",
"properties": {
"tenantId": {
@@ -408,7 +408,7 @@
}
},
"ResourceActionCancelData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Resources.ResourceActionCancel event. This is raised when a resource action operation is canceled.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Resources.ResourceActionCancel event. This is raised when a resource action operation is canceled.",
"type": "object",
"properties": {
"tenantId": {
diff --git a/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json b/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json
index 19501d67be85..0713fa701f7f 100644
--- a/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json
+++ b/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json
@@ -8,7 +8,7 @@
"paths": {},
"definitions": {
"StorageBlobCreatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobCreated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobCreated event.",
"type": "object",
"properties": {
"api": {
@@ -64,7 +64,7 @@
}
},
"StorageBlobDeletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobDeleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobDeleted event.",
"type": "object",
"properties": {
"api": {
@@ -106,7 +106,7 @@
}
},
"StorageDirectoryCreatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.DirectoryCreated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.DirectoryCreated event.",
"type": "object",
"properties": {
"api": {
@@ -144,7 +144,7 @@
}
},
"StorageDirectoryDeletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.DirectoryDeleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.DirectoryDeleted event.",
"type": "object",
"properties": {
"api": {
@@ -182,7 +182,7 @@
}
},
"StorageBlobRenamedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.BlobRenamed event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobRenamed event.",
"type": "object",
"properties": {
"api": {
@@ -220,7 +220,7 @@
}
},
"StorageDirectoryRenamedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.DirectoryRenamed event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.DirectoryRenamed event.",
"type": "object",
"properties": {
"api": {
@@ -258,7 +258,7 @@
}
},
"StorageLifecyclePolicyCompletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.LifecyclePolicyCompleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.LifecyclePolicyCompleted event.",
"type": "object",
"properties": {
"scheduleTime": {
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/Web.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/Web.json
index 69d70d1b6fb5..8b8e69af6d3e 100644
--- a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/Web.json
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/Web.json
@@ -8,7 +8,7 @@
"paths": {},
"definitions": {
"WebAppUpdatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.AppUpdated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.AppUpdated event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -41,7 +41,7 @@
}
},
"WebBackupOperationStartedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationStarted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.BackupOperationStarted event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -74,7 +74,7 @@
}
},
"WebBackupOperationCompletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationCompleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.BackupOperationCompleted event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -107,7 +107,7 @@
}
},
"WebBackupOperationFailedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.BackupOperationFailed event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.BackupOperationFailed event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -140,7 +140,7 @@
}
},
"WebRestoreOperationStartedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationStarted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.RestoreOperationStarted event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -173,7 +173,7 @@
}
},
"WebRestoreOperationCompletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationCompleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.RestoreOperationCompleted event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -206,7 +206,7 @@
}
},
"WebRestoreOperationFailedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.RestoreOperationFailed event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.RestoreOperationFailed event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -239,7 +239,7 @@
}
},
"WebSlotSwapStartedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapStarted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapStarted event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -272,7 +272,7 @@
}
},
"WebSlotSwapCompletedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapCompleted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapCompleted event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -305,7 +305,7 @@
}
},
"WebSlotSwapFailedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapFailed event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapFailed event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -338,7 +338,7 @@
}
},
"WebSlotSwapWithPreviewStartedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapWithPreviewStarted event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapWithPreviewStarted event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -371,7 +371,7 @@
}
},
"WebSlotSwapWithPreviewCancelledEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.SlotSwapWithPreviewCancelled event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.SlotSwapWithPreviewCancelled event.",
"type": "object",
"properties": {
"appEventTypeDetail": {
@@ -404,7 +404,7 @@
}
},
"WebAppServicePlanUpdatedEventData": {
- "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Web.AppServicePlanUpdated event.",
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Web.AppServicePlanUpdated event.",
"type": "object",
"properties": {
"appServicePlanEventTypeDetail": {
diff --git a/specification/eventgrid/data-plane/readme.go.md b/specification/eventgrid/data-plane/readme.go.md
index 7db2747103ef..afcbedb99cd0 100644
--- a/specification/eventgrid/data-plane/readme.go.md
+++ b/specification/eventgrid/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: eventgrid
clear-output-folder: true
```
diff --git a/specification/eventgrid/data-plane/readme.md b/specification/eventgrid/data-plane/readme.md
index c405edd08c81..f1965d3b348f 100644
--- a/specification/eventgrid/data-plane/readme.md
+++ b/specification/eventgrid/data-plane/readme.md
@@ -12,6 +12,29 @@ that describes the schemas for its events.
This configuration enables packaging all of the above as one EventGrid data plane library.
This enables customers to download one EventGrid data plane library instead of having to install separate packages to get the event schemas for each service.
+### Guidelines for defining a new event
+
+In order to automate the mapping of event definition with event type, please follow the guidelines below when adding new events to your swagger:
+- The name of a new event definition should have `EventData` suffix. For e.g. `AcsChatMessageReceivedEventData`.
+- The description of the new event should include the event type. This is the `eventType` name in an `EventGridEvent` or `type` name in `CloudEvent`. For e.g. `"Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceived event.` Here `Microsoft.Communication.ChatMessageReceived` is the event name.
+
+A sample valid event definition is shown below:
+```json
+"AcsChatMessageReceivedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Communication.ChatMessageReceived event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AcsChatMessageEventBaseProperties"
+ }
+ ],
+ "properties": {
+ "messageBody": {
+ "description": "The body of the chat message",
+ "type": "string"
+ }
+ }
+}
+```
---
## Getting Started
@@ -60,6 +83,7 @@ input-file:
- Microsoft.Cache/stable/2018-01-01/RedisCache.json
- Microsoft.Web/stable/2018-01-01/Web.json
- Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
+- Microsoft.PolicyInsights/stable/2018-01-01/PolicyInsights.json
```
### Suppression
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-10-15-preview/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-10-15-preview/EventGrid.json
index 04ca2960b7c1..82ba19735633 100644
--- a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-10-15-preview/EventGrid.json
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2020-10-15-preview/EventGrid.json
@@ -5517,7 +5517,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/PrivateEndpointConnection"
- }
+ },
+ "readOnly": true
},
"provisioningState": {
"description": "Provisioning state of the domain.",
@@ -5592,6 +5593,7 @@
"properties": {
"name": {
"description": "The Sku name of the resource. The possible values are: Basic or Premium.",
+ "default": "Basic",
"enum": [
"Basic",
"Premium"
@@ -5922,8 +5924,7 @@
},
"sku": {
"$ref": "#/definitions/ResourceSku",
- "description": "The Sku pricing tier for the domain.",
- "default": "Basic"
+ "description": "The Sku pricing tier for the domain."
},
"identity": {
"$ref": "#/definitions/IdentityInfo",
@@ -8124,7 +8125,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/PrivateEndpointConnection"
- }
+ },
+ "readOnly": true
},
"provisioningState": {
"description": "Provisioning state of the topic.",
@@ -8223,8 +8225,7 @@
},
"sku": {
"$ref": "#/definitions/ResourceSku",
- "description": "The Sku pricing tier for the topic.",
- "default": "Basic"
+ "description": "The Sku pricing tier for the topic."
},
"identity": {
"$ref": "#/definitions/IdentityInfo",
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json
index 1d4ce90c5b95..360ed782dbd8 100644
--- a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json
@@ -2754,7 +2754,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/PrivateEndpointConnection"
- }
+ },
+ "readOnly": true
},
"provisioningState": {
"description": "Provisioning state of the domain.",
@@ -4179,7 +4180,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/PrivateEndpointConnection"
- }
+ },
+ "readOnly": true
},
"provisioningState": {
"description": "Provisioning state of the topic.",
diff --git a/specification/eventgrid/resource-manager/readme.go.md b/specification/eventgrid/resource-manager/readme.go.md
index 7b50bc9c71c2..343b062224b5 100644
--- a/specification/eventgrid/resource-manager/readme.go.md
+++ b/specification/eventgrid/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: eventgrid
clear-output-folder: true
```
diff --git a/specification/eventhub/resource-manager/readme.azureresourceschema.md b/specification/eventhub/resource-manager/readme.azureresourceschema.md
index b1d6e45a36f0..72acb533bf04 100644
--- a/specification/eventhub/resource-manager/readme.azureresourceschema.md
+++ b/specification/eventhub/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-eventhub-2021-01-01-preview
- tag: schema-eventhub-2018-01-01-preview
- tag: schema-eventhub-2017-04-01
- tag: schema-eventhub-2015-08-01
@@ -15,6 +16,24 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-eventhub-2021-01-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventhub-2021-01-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventHub/preview/2021-01-01-preview/namespaces-preview.json
+ - Microsoft.EventHub/preview/2021-01-01-preview/operations.json
+ - Microsoft.EventHub/preview/2021-01-01-preview/eventhubs.json
+ - Microsoft.EventHub/preview/2021-01-01-preview/disasterRecoveryConfigs.json
+ - Microsoft.EventHub/preview/2021-01-01-preview/networkrulessets-preview.json
+ - Microsoft.EventHub/preview/2021-01-01-preview/AuthorizationRules.json
+ - Microsoft.EventHub/preview/2021-01-01-preview/consumergroups.json
+ - Microsoft.EventHub/preview/2021-01-01-preview/CheckNameAvailability.json
+
+```
+
### Tag: schema-eventhub-2018-01-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-eventhub-2018-01-01-preview' && $(azureresourceschema)
diff --git a/specification/eventhub/resource-manager/readme.go.md b/specification/eventhub/resource-manager/readme.go.md
index 87168a449546..661e4c12916e 100644
--- a/specification/eventhub/resource-manager/readme.go.md
+++ b/specification/eventhub/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: eventhub
clear-output-folder: true
```
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/customlocations.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/customlocations.json
new file mode 100644
index 000000000000..3a5bcbc3ace2
--- /dev/null
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/customlocations.json
@@ -0,0 +1,704 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-15-preview",
+ "title": "customLocations",
+ "description": "The customLocations Rest API spec."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ExtendedLocation/operations": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "customLocations_ListOperations",
+ "description": "Lists all available Custom Locations operations.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation details.",
+ "schema": {
+ "$ref": "#/definitions/customLocationOperationsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Custom Locations operations": {
+ "$ref": "./examples/CustomLocationsListOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ExtendedLocation/customLocations": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "customLocations_ListBySubscription",
+ "summary": "Gets a list of Custom Locations in a subscription.",
+ "description": "Gets a list of Custom Locations in the specified subscription. The operation returns properties of each Custom Location",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Custom Locations by subscription": {
+ "$ref": "./examples/CustomLocationsListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "customLocations_ListByResourceGroup",
+ "summary": "Gets a list of Custom Locations in the specified subscription and resource group.",
+ "description": "Gets a list of Custom Locations in the specified subscription and resource group. The operation returns properties of each Custom Location.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Custom Locations by resource group": {
+ "$ref": "./examples/CustomLocationsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "customLocations_Get",
+ "summary": "Gets a Custom Location.",
+ "description": "Gets the details of the customLocation with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Custom Location": {
+ "$ref": "./examples/CustomLocationsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "customLocations_CreateOrUpdate",
+ "summary": "Creates or updates a Custom Location.",
+ "description": "Creates or updates a Custom Location in the specified Subscription and Resource Group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ },
+ "description": "Parameters supplied to create or update a Custom Location."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Create/Update Custom Location": {
+ "$ref": "./examples/CustomLocationsCreate_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "customLocations_Delete",
+ "summary": "Deletes a Custom Location.",
+ "description": "Deletes the Custom Location with the specified Resource Name, Resource Group, and Subscription Id.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "204": {
+ "description": "NoContent. The response indicates the customLocation resource is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "x-ms-examples": {
+ "Delete Custom Location": {
+ "$ref": "./examples/CustomLocationsDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "customLocations_Update",
+ "summary": "Updates a Custom Location.",
+ "description": "Updates a Custom Location with the specified Resource Name in the specified Resource Group and Subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/patchableCustomLocations"
+ },
+ "description": "The updatable fields of an existing Custom Location."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/customLocation"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Custom Location": {
+ "$ref": "./examples/CustomLocationsPatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}/enabledResourceTypes": {
+ "get": {
+ "tags": [
+ "customLocations"
+ ],
+ "operationId": "customLocations_ListEnabledResourceTypes",
+ "summary": "Gets the list of Enabled Resource Types.",
+ "description": "Gets the list of the Enabled Resource Types.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EnabledResourceTypesListResult"
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Custom Location": {
+ "$ref": "./examples/CustomLocationsListEnabledResourceTypes.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "EnabledResourceTypeNameParameter": {
+ "name": "enabledResourceTypeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "Custom Locations Enabled Resource Type name."
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "Custom Locations name."
+ }
+ },
+ "definitions": {
+ "EnabledResourceType": {
+ "description": "EnabledResourceType definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EnabledResourceTypeProperties",
+ "description": "The set of properties for EnabledResourceType specific to a Custom Location",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "EnabledResourceTypeProperties": {
+ "description": "Properties for EnabledResourceType of a custom location.",
+ "type": "object",
+ "properties": {
+ "clusterExtensionId": {
+ "description": "Cluster Extension ID",
+ "type": "string"
+ },
+ "extensionType": {
+ "description": "Cluster Extension Type",
+ "type": "string"
+ },
+ "typesMetadata": {
+ "description": "Metadata of the Resource Type",
+ "type": "array",
+ "items": {
+ "description": "Metadata of the Resource Type.",
+ "type": "object",
+ "properties": {
+ "apiVersion": {
+ "description": "Api Version of Resource Type",
+ "type": "string"
+ },
+ "resourceProviderNamespace": {
+ "description": "Resource Provider Namespace of Resource Type",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource Type",
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "EnabledResourceTypesListResult": {
+ "description": "List of EnabledResourceTypes definition.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The list of EnabledResourceTypes available for a customLocation.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/EnabledResourceType"
+ }
+ }
+ }
+ },
+ "customLocation": {
+ "description": "Custom Locations definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/customLocationProperties",
+ "description": "The set of properties specific to a Custom Location",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "customLocationListResult": {
+ "description": "The List Custom Locations operation response.",
+ "properties": {
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The list of Custom Locations.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/customLocation"
+ }
+ }
+ }
+ },
+ "customLocationOperation": {
+ "description": "Custom Locations operation.",
+ "properties": {
+ "display": {
+ "$ref": "#/definitions/customLocationOperationValueDisplay",
+ "description": "Describes the properties of a Custom Locations Operation Value Display.",
+ "x-ms-client-flatten": true
+ },
+ "isDataAction": {
+ "description": "Is this Operation a data plane operation",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the compute operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "origin": {
+ "description": "The origin of the compute operation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "customLocationOperationValueDisplay": {
+ "description": "Describes the properties of a Custom Locations Operation Value Display.",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "The display name of the compute operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provider": {
+ "description": "The resource provider for the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The display name of the resource the operation applies to.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "customLocationOperationsList": {
+ "description": "Lists of Custom Locations operations.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "nextLink": {
+ "description": "Next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of customLocationOperation",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/customLocationOperation"
+ }
+ }
+ }
+ },
+ "customLocationProperties": {
+ "description": "Properties for a custom location.",
+ "type": "object",
+ "properties": {
+ "authentication": {
+ "description": "This is optional input that contains the authentication that should be used to generate the namespace.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the Custom Locations authentication",
+ "type": "string"
+ },
+ "value": {
+ "description": "The kubeconfig value.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "clusterExtensionIds": {
+ "description": "Contains the reference to the add-on that contains charts to deploy CRDs and operators.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "displayName": {
+ "description": "Display name for the Custom Locations location.",
+ "type": "string"
+ },
+ "hostResourceId": {
+ "description": "Connected Cluster or AKS Cluster. The Custom Locations RP will perform a checkAccess API for listAdminCredentials permissions.",
+ "type": "string"
+ },
+ "hostType": {
+ "description": "Type of host the Custom Locations is referencing (Kubernetes, etc...).",
+ "type": "string",
+ "enum": [
+ "Kubernetes"
+ ],
+ "x-ms-enum": {
+ "name": "HostType",
+ "modelAsString": true
+ }
+ },
+ "namespace": {
+ "description": "Kubernetes namespace that will be created on the specified cluster.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Provisioning State for the Custom Location.",
+ "type": "string"
+ }
+ }
+ },
+ "patchableCustomLocations": {
+ "description": "The Custom Locations patchable resource definition.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "x-ms-client-flatten": true,
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/customLocationProperties",
+ "description": "The Custom Locations patchable properties.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "Resource tags",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsCreate_Update.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsCreate_Update.json
new file mode 100644
index 000000000000..18d9731b6730
--- /dev/null
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsCreate_Update.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "testresourcegroup",
+ "resourceName": "customLocation01",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01",
+ "namespace": "namespace01",
+ "displayName": "customLocationLocation01",
+ "clusterExtensionIds": [
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedCluster/someCluster/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension"
+ ],
+ "authentication": {
+ "type": "KubeConfig",
+ "value": ""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01",
+ "name": "customLocation01",
+ "type": "Microsoft.ExtendedLocation/customLocations",
+ "location": "West US",
+ "properties": {
+ "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01",
+ "namespace": "namespace01",
+ "displayName": "customLocationLocation01",
+ "provisioningState": "Succeeded",
+ "clusterExtensionIds": [
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension"
+ ],
+ "authentication": {
+ "type": "KubeConfig"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01",
+ "name": "customLocation01",
+ "type": "Microsoft.ExtendedLocation/customLocations",
+ "location": "West US",
+ "properties": {
+ "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01",
+ "namespace": "namespace01",
+ "displayName": "customLocationLocation01",
+ "provisioningState": "Succeeded",
+ "clusterExtensionIds": [
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension"
+ ],
+ "authentication": {
+ "type": "KubeConfig"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ }
+ },
+ "400": {}
+ }
+}
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsDelete.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsDelete.json
new file mode 100644
index 000000000000..1e6fec86e498
--- /dev/null
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "testresourcegroup",
+ "resourceName": "customLocation01"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsGet.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsGet.json
new file mode 100644
index 000000000000..8db8820fc643
--- /dev/null
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "testresourcegroup",
+ "resourceName": "customLocation01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01",
+ "name": "customLocation01",
+ "type": "Microsoft.ExtendedLocation/customLocations",
+ "location": "West US",
+ "properties": {
+ "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01",
+ "namespace": "namespace01",
+ "displayName": "customLocationLocation01",
+ "provisioningState": "Succeeded",
+ "clusterExtensionIds": [
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension"
+ ],
+ "authentication": {
+ "type": "KubeConfig"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListByResourceGroup.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListByResourceGroup.json
new file mode 100644
index 000000000000..8b3cf4a667fc
--- /dev/null
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListByResourceGroup.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "testresourcegroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/",
+ "name": "customLocation01",
+ "type": "Microsoft.ExtendedLocation/customLocations",
+ "location": "West US",
+ "properties": {
+ "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01",
+ "namespace": "namespace01",
+ "displayName": "customLocationLocation01",
+ "provisioningState": "Succeeded",
+ "clusterExtensionIds": [
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension"
+ ],
+ "authentication": {
+ "type": "KubeConfig"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/",
+ "name": "customLocation02",
+ "type": "Microsoft.ExtendedLocation/customLocations",
+ "location": "West US",
+ "properties": {
+ "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster02",
+ "namespace": "namespace02",
+ "displayName": "customLocationLocation02",
+ "provisioningState": "Succeeded",
+ "clusterExtensionIds": [
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster02/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension"
+ ],
+ "authentication": {
+ "type": "KubeConfig"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListBySubscription.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListBySubscription.json
new file mode 100644
index 000000000000..a5e83b1c064b
--- /dev/null
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListBySubscription.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/",
+ "name": "customLocation01",
+ "type": "Microsoft.ExtendedLocation/customLocations",
+ "location": "West US",
+ "properties": {
+ "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01",
+ "namespace": "namespace01",
+ "displayName": "customLocationLocation01",
+ "provisioningState": "Succeeded",
+ "clusterExtensionIds": [
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension"
+ ],
+ "authentication": {
+ "type": "KubeConfig"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/",
+ "name": "customLocation02",
+ "type": "Microsoft.ExtendedLocation/customLocations",
+ "location": "West US",
+ "properties": {
+ "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster02",
+ "namespace": "namespace02",
+ "displayName": "customLocationLocation02",
+ "provisioningState": "Succeeded",
+ "clusterExtensionIds": [
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster02/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension"
+ ],
+ "authentication": {
+ "type": "KubeConfig"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListEnabledResourceTypes.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListEnabledResourceTypes.json
new file mode 100644
index 000000000000..e36bcead7b34
--- /dev/null
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListEnabledResourceTypes.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "testresourcegroup",
+ "resourceName": "customLocation01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01/enabledResourceTypes/d016ecf26dae90594806aca3c1a6326c668357037f68103587edf2e657824737",
+ "name": "d016ecf26dae90594806aca3c1a6326c668357037f68103587edf2e657824737",
+ "type": "Microsoft.ExtendedLocation/customLocations/enabledResourceTypes",
+ "properties": {
+ "clusterExtensionId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/cldfe2econnectedcluster/providers/Microsoft.KubernetesConfiguration/extensions/vmware-extension",
+ "extensionType": "arc-vmware",
+ "typesMetadata": [
+ {
+ "apiVersion": "2020-01-01-preview",
+ "resourceType": "virtualMachines",
+ "resourceProviderNamespace": "Microsoft.VMware"
+ },
+ {
+ "apiVersion": "2020-01-22-preview",
+ "resourceType": "virtualmachines",
+ "resourceProviderNamespace": "Microsoft.VMware"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01/enabledResourceTypes/266e9d31e5be6be1e919574e25780d5783586d502f0b2cc422e0a228a34e00a6",
+ "name": "266e9d31e5be6be1e919574e25780d5783586d502f0b2cc422e0a228a34e00a6",
+ "type": "Microsoft.ExtendedLocation/customLocations/enabledResourceTypes",
+ "properties": {
+ "clusterExtensionId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/cldfe2econnectedcluster/providers/Microsoft.KubernetesConfiguration/extensions/cassandra-extension",
+ "extensionType": "cassandradatacentersoperator",
+ "typesMetadata": [
+ {
+ "apiVersion": "2020-01-01-preview",
+ "resourceType": "cassandraDataCenters",
+ "resourceProviderNamespace": "Microsoft.Cassandra"
+ },
+ {
+ "apiVersion": "2020-01-22-preview",
+ "resourceType": "cassandrabackups",
+ "resourceProviderNamespace": "Microsoft.Cassandra"
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ }
+ ]
+ }
+ },
+ "400": {}
+ }
+}
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json
new file mode 100644
index 000000000000..3efbb3e8b69e
--- /dev/null
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ExtendedLocation/operations/read",
+ "display": {
+ "description": "Gets list of Available Operations for Custom Locations",
+ "operation": "List Available Operations for Custom Locations",
+ "provider": "Microsoft Extended Location",
+ "resource": "Operations"
+ },
+ "origin": "user,system",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.ExtendedLocation/register/action",
+ "display": {
+ "description": "Registers the subscription for Custom Location resource provider and enables the creation of Custom Location.",
+ "operation": "Registers the Custom Location Resource Provider",
+ "provider": "Microsoft Extended Location",
+ "resource": "Custom Locations Resource Provider"
+ },
+ "origin": "user,system",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.ExtendedLocation/customLocations/read",
+ "display": {
+ "description": "Gets an Custom Location resource",
+ "operation": "Get Custom Location",
+ "provider": "Microsoft Extended Location",
+ "resource": "Custom Locations"
+ },
+ "origin": "user,system",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.ExtendedLocation/customLocations/write",
+ "display": {
+ "description": "Creates or Updates Custom Location resource",
+ "operation": "Create or Update Custom Location",
+ "provider": "Microsoft Extended Location",
+ "resource": "Custom Locations"
+ },
+ "origin": "user,system",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.ExtendedLocation/customLocations/delete",
+ "display": {
+ "description": "Deletes Custom Location resource",
+ "operation": "Delete Custom Location",
+ "provider": "Microsoft Extended Location",
+ "resource": "Custom Locations"
+ },
+ "origin": "user,system",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.ExtendedLocation/customLocations/enabledresourcetypes/read",
+ "display": {
+ "description": "Gets EnabledResourceTypes for a Custom Location resource",
+ "operation": "Get EnabledResourceTypes for Custom Location",
+ "provider": "Microsoft Extended Location",
+ "resource": "Custom Locations"
+ },
+ "origin": "user,system",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.ExtendedLocation/locations/operationsstatus/read",
+ "display": {
+ "description": "Get result of Custom Location operation",
+ "operation": "Get status of Custom Location operation",
+ "provider": "Microsoft Extended Location",
+ "resource": "Custom Location Operation Status"
+ },
+ "origin": "user,system",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.ExtendedLocation/locations/operationresults/read",
+ "display": {
+ "description": "Get result of Custom Location operation",
+ "operation": "Get the status of Custom Location operation",
+ "provider": "Microsoft Extended Location",
+ "resource": "Custom Location Operation Result"
+ },
+ "origin": "user,system",
+ "isDataAction": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsPatch.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsPatch.json
new file mode 100644
index 000000000000..981ed535e79a
--- /dev/null
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsPatch.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-03-15-preview",
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "testresourcegroup",
+ "resourceName": "customLocation01",
+ "parameters": {
+ "properties": {
+ "clusterExtensionIds": [
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension",
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/barExtension"
+ ]
+ },
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01",
+ "name": "customLocation01",
+ "type": "Microsoft.ExtendedLocation/customLocations",
+ "location": "West US",
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ },
+ "properties": {
+ "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01",
+ "namespace": "namespace01",
+ "displayName": "customLocationLocation01",
+ "provisioningState": "Succeeded",
+ "clusterExtensionIds": [
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension",
+ "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/barExtension"
+ ],
+ "authentication": {
+ "type": "KubeConfig"
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-04-24T18:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-04-24T18:53:29.0928001Z"
+ }
+ }
+ },
+ "400": {}
+ }
+}
diff --git a/specification/extendedlocation/resource-manager/readme.azureresourceschema.md b/specification/extendedlocation/resource-manager/readme.azureresourceschema.md
index 2ed4e21a2173..b26a6a18fdfb 100644
--- a/specification/extendedlocation/resource-manager/readme.azureresourceschema.md
+++ b/specification/extendedlocation/resource-manager/readme.azureresourceschema.md
@@ -5,8 +5,20 @@ These settings apply only when `--azureresourceschema` is specified on the comma
### AzureResourceSchema multi-api
``` yaml $(azureresourceschema) && $(multiapi)
-batch: []
+batch:
+ - tag: schema-extendedlocation-2021-03-15-preview
```
Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-extendedlocation-2021-03-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-extendedlocation-2021-03-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ExtendedLocation/preview/2021-03-15-preview/customlocations.json
+
+```
diff --git a/specification/extendedlocation/resource-manager/readme.csharp.md b/specification/extendedlocation/resource-manager/readme.csharp.md
index b553f33c2798..f44c70c215db 100644
--- a/specification/extendedlocation/resource-manager/readme.csharp.md
+++ b/specification/extendedlocation/resource-manager/readme.csharp.md
@@ -11,5 +11,5 @@ csharp:
clear-output-folder: true
client-side-validation: false
namespace: Microsoft.Azure.Management.ExtendedLocation
- output-folder: $(csharp-sdks-folder)/ExtendedLocation/management/Microsoft.Azure.Management.ExtendedLocation/GeneratedProtocol
+ output-folder: $(csharp-sdks-folder)/extendedlocation/Microsoft.Azure.Management.ExtendedLocation/src/Generated
```
diff --git a/specification/extendedlocation/resource-manager/readme.go.md b/specification/extendedlocation/resource-manager/readme.go.md
index 38455eb1d717..b27a39af42e1 100644
--- a/specification/extendedlocation/resource-manager/readme.go.md
+++ b/specification/extendedlocation/resource-manager/readme.go.md
@@ -4,14 +4,15 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
### Go multi-api
-``` yaml $(go) && $(multiapi)
+```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-03-15-preview
- tag: package-2020-07-15-privatepreview
```
@@ -24,3 +25,13 @@ Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2021-03-15-preview' && $(go)
+namespace: extendedlocation
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-03-15-preview/$(namespace)
+```
diff --git a/specification/extendedlocation/resource-manager/readme.md b/specification/extendedlocation/resource-manager/readme.md
index 58229e594408..f04cff80cb5c 100644
--- a/specification/extendedlocation/resource-manager/readme.md
+++ b/specification/extendedlocation/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the extendedLocation.
```yaml
openapi-type: arm
-tag: package-2020-07-15-privatepreview
+tag: package-2021-03-15-preview
```
### Tag: package-2020-07-15-privatepreview
@@ -38,6 +38,15 @@ input-file:
- Microsoft.ExtendedLocation/preview/2020-07-15-privatepreview/customlocations.json
```
+### Tag: package-2021-03-15-preview
+
+These settings apply only when `--tag=package-2021-03-15-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-03-15-preview'
+input-file:
+ - Microsoft.ExtendedLocation/preview/2021-03-15-preview/customlocations.json
+```
+
---
# Code Generation
@@ -49,7 +58,7 @@ This is not used by Autorest itself.
```yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -60,20 +69,20 @@ swagger-to-sdk:
## Go
-See configuration in [readme.go.md](./readme.go.md)
+See configuration in [readme.go.md](specification/extendedlocation/resource-manager/readme.go.md)
## Python
-See configuration in [readme.python.md](./readme.python.md)
+See configuration in [readme.python.md](specification/extendedlocation/resource-manager/readme.python.md)
## Ruby
-See configuration in [readme.ruby.md](./readme.ruby.md)
+See configuration in [readme.ruby.md](specification/extendedlocation/resource-manager/readme.ruby.md)
## TypeScript
-See configuration in [readme.typescript.md](./readme.typescript.md)
+See configuration in [readme.typescript.md](specification/extendedlocation/resource-manager/readme.typescript.md)
## CSharp
-See configuration in [readme.csharp.md](./readme.csharp.md)
+See configuration in [readme.csharp.md](specification/extendedlocation/resource-manager/readme.csharp.md)
diff --git a/specification/extendedlocation/resource-manager/readme.python.md b/specification/extendedlocation/resource-manager/readme.python.md
index 1be3c389384a..d14b4b65724c 100644
--- a/specification/extendedlocation/resource-manager/readme.python.md
+++ b/specification/extendedlocation/resource-manager/readme.python.md
@@ -1,44 +1,26 @@
## Python
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-
-``` yaml $(python) && !$(track2)
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- package-name: azure-mgmt-extendedlocation
- clear-output-folder: true
- no-namespace-folders: true
-```
-
These settings apply only when `--track2` is specified on the command line.
-``` yaml $(python) && $(track2)
+```yaml $(python) && $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-extendedlocation
-clear-output-folder: true
+package-version: 1.0.0b1
no-namespace-folders: true
```
### Python multi-api
-Generate all API versions currently shipped for this package
-
-``` yaml $(python) && $(multiapi) && !$(track2)
-batch:
- - tag: package-2020-07-15-privatepreview
-```
-
``` yaml $(python) && $(multiapi) && $(track2)
+clear-output-folder: true
batch:
- tag: package-2020-07-15-privatepreview
+ - tag: package-2021-03-15-preview
- multiapiscript: true
```
-``` yaml $(multiapiscript)
+```yaml $(multiapiscript)
output-folder: $(python-sdks-folder)/extendedlocation/azure-mgmt-extendedlocation/azure/mgmt/extendedlocation/
clear-output-folder: false
perform-load: false
@@ -49,10 +31,17 @@ perform-load: false
These settings apply only when `--tag=package-2020-07-15-privatepreview --python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-``` yaml $(tag) == 'package-2020-07-15-privatepreview' && $(python)
+```yaml $(tag) == 'package-2020-07-15-privatepreview' && $(python)
namespace: azure.mgmt.extendedlocation.v2020_07_15_privatepreview
output-folder: $(python-sdks-folder)/extendedlocation/azure-mgmt-extendedlocation/azure/mgmt/extendedlocation/v2020_07_15_privatepreview
-python:
- namespace: azure.mgmt.extendedlocation.v2020_07_15_privatepreview
- output-folder: $(python-sdks-folder)/extendedlocation/azure-mgmt-extendedlocation/azure/mgmt/extendedlocation/v2020_07_15_privatepreview
+```
+
+### Tag: package-2021-03-15-preview and python
+
+These settings apply only when `--tag=package-2021-03-15-preview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-03-15-preview' && $(python)
+namespace: azure.mgmt.extendedlocation.v2021_03_15_preview
+output-folder: $(python-sdks-folder)/extendedlocation/azure-mgmt-extendedlocation/azure/mgmt/extendedlocation/v2021_03_15_preview
```
diff --git a/specification/extendedlocation/resource-manager/readme.ruby.md b/specification/extendedlocation/resource-manager/readme.ruby.md
index 608571674e19..41815ec061d7 100644
--- a/specification/extendedlocation/resource-manager/readme.ruby.md
+++ b/specification/extendedlocation/resource-manager/readme.ruby.md
@@ -17,3 +17,13 @@ Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-03-15-privatepreview' && $(ruby)
+namespace: Azure::ExtendedLocation::Mgmt::V2021_03_15_preview
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_extended_location/lib
+```
diff --git a/specification/extendedlocation/resource-manager/readme.typescript.md b/specification/extendedlocation/resource-manager/readme.typescript.md
index b8a39b4110a8..a10ddf19496e 100644
--- a/specification/extendedlocation/resource-manager/readme.typescript.md
+++ b/specification/extendedlocation/resource-manager/readme.typescript.md
@@ -3,7 +3,7 @@
These settings apply only when `--typescript` is specified on the command line.
Please also specify `--typescript-sdks-folder=`.
-``` yaml $(typescript)
+```yaml $(typescript)
typescript:
azure-arm: true
package-name: "@azure/arm-extendedlocation"
diff --git a/specification/frontdoor/resource-manager/readme.go.md b/specification/frontdoor/resource-manager/readme.go.md
index e4b384f9f0c2..51988e6c19d4 100644
--- a/specification/frontdoor/resource-manager/readme.go.md
+++ b/specification/frontdoor/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: frontdoor
clear-output-folder: true
```
diff --git a/specification/frontdoor/resource-manager/readme.md b/specification/frontdoor/resource-manager/readme.md
index ac29429e3229..b83e39e524c9 100644
--- a/specification/frontdoor/resource-manager/readme.md
+++ b/specification/frontdoor/resource-manager/readme.md
@@ -236,6 +236,10 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.cli.md](./readme.cli.md)
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
## Java
See configuration in [readme.java.md](./readme.java.md)
diff --git a/specification/graphrbac/data-plane/readme.go.md b/specification/graphrbac/data-plane/readme.go.md
index c2f8ba1997ab..101da5b46f25 100644
--- a/specification/graphrbac/data-plane/readme.go.md
+++ b/specification/graphrbac/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: graphrbac
clear-output-folder: true
```
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/common/v1/definitions.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/common/v1/definitions.json
index e6b1fa62c385..7b77a124a266 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/common/v1/definitions.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/common/v1/definitions.json
@@ -187,6 +187,14 @@
"description": "The name of the virtual machine.",
"x-ms-parameter-location": "method"
},
+ "VMSSNameParameter": {
+ "name": "vmssName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set.",
+ "x-ms-parameter-location": "method"
+ },
"MachineNameParameter": {
"name": "machineName",
"in": "path",
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json
index 5e74ffc73cda..763cdb833a6f 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json
@@ -89,7 +89,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -355,12 +354,10 @@
},
"name": {
"type": "string",
- "readOnly": true,
"description": "Name of the guest configuration."
},
"type": {
"type": "string",
- "readOnly": true,
"description": "Type of the guest configuration."
},
"configurationParameter": {
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json
index 9e605b7c6673..db17e9de26ef 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json
@@ -89,7 +89,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -193,7 +192,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -505,7 +503,7 @@
"properties": {
"configurationMode": {
"type": "string",
- "readOnly": true,
+ "readOnly": false,
"description": "Specifies how the LCM(Local Configuration Manager) actually applies the configuration to the target nodes. Possible values are ApplyOnly, ApplyAndMonitor, and ApplyAndAutoCorrect.",
"x-ms-enum": {
"name": "configurationMode",
@@ -518,20 +516,12 @@
]
},
"allowModuleOverwrite": {
- "type": "string",
- "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false",
- "x-ms-enum": {
- "name": "allowModuleOverwrite",
- "modelAsString": true
- },
- "enum": [
- "True",
- "False"
- ]
+ "type": "boolean",
+ "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false"
},
"actionAfterReboot": {
"type": "string",
- "readOnly": true,
+ "readOnly": false,
"description": "Specifies what happens after a reboot during the application of a configuration. The possible values are ContinueConfiguration and StopConfiguration",
"x-ms-enum": {
"name": "actionAfterReboot",
@@ -544,27 +534,18 @@
},
"refreshFrequencyMins": {
"type": "number",
- "readOnly": true,
+ "readOnly": false,
"default": 30,
"description": "The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30."
},
"rebootIfNeeded": {
- "type": "string",
- "readOnly": true,
- "default": "False",
- "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module.",
- "x-ms-enum": {
- "name": "rebootIfNeeded",
- "modelAsString": true
- },
- "enum": [
- "True",
- "False"
- ]
+ "type": "boolean",
+ "readOnly": false,
+ "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module."
},
"configurationModeFrequencyMins": {
"type": "number",
- "readOnly": true,
+ "readOnly": false,
"default": 15,
"description": "How often, in minutes, the current configuration is checked and applied. This property is ignored if the ConfigurationMode property is set to ApplyOnly. The default value is 15."
}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationAssignment.json
index 85e3d176b25d..13e8b863c2d9 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationAssignment.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationAssignment.json
@@ -20,7 +20,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
@@ -55,7 +55,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
@@ -90,7 +90,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
index d85b484a1f0f..1e767f4eb152 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
@@ -20,7 +20,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
@@ -55,7 +55,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
@@ -90,7 +90,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json
index db2acc806575..239870a2cec5 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json
@@ -89,7 +89,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -193,7 +192,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -432,7 +430,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -536,7 +533,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -861,16 +857,8 @@
]
},
"allowModuleOverwrite": {
- "type": "string",
- "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false",
- "x-ms-enum": {
- "name": "allowModuleOverwrite",
- "modelAsString": true
- },
- "enum": [
- "True",
- "False"
- ]
+ "type": "boolean",
+ "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false"
},
"actionAfterReboot": {
"type": "string",
@@ -892,18 +880,9 @@
"description": "The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30."
},
"rebootIfNeeded": {
- "type": "string",
+ "type": "boolean",
"readOnly": false,
- "default": "False",
- "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module.",
- "x-ms-enum": {
- "name": "rebootIfNeeded",
- "modelAsString": true
- },
- "enum": [
- "True",
- "False"
- ]
+ "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module."
},
"configurationModeFrequencyMins": {
"type": "number",
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json
index a76baeaef767..44db64b95018 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json
@@ -20,7 +20,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
@@ -55,7 +55,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
@@ -90,7 +90,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
index bf76cff48d05..330a83431816 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
@@ -20,7 +20,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
@@ -55,7 +55,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
@@ -90,7 +90,7 @@
}
],
"configurationSetting": {
- "rebootIfNeeded": "False",
+ "rebootIfNeeded": false,
"actionAfterReboot": "ContinueConfiguration",
"configurationModeFrequencyMins": 15,
"configurationMode": "MonitorOnly"
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json
index a2a372685861..7f896d2ac18a 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json
@@ -89,7 +89,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -193,7 +192,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -432,7 +430,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -536,7 +533,6 @@
}
}
},
- "x-ms-long-running-operation": true,
"produces": [
"application/json"
],
@@ -861,16 +857,8 @@
]
},
"allowModuleOverwrite": {
- "type": "string",
- "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false",
- "x-ms-enum": {
- "name": "allowModuleOverwrite",
- "modelAsString": true
- },
- "enum": [
- "True",
- "False"
- ]
+ "type": "boolean",
+ "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false"
},
"actionAfterReboot": {
"type": "string",
@@ -892,18 +880,9 @@
"description": "The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30."
},
"rebootIfNeeded": {
- "type": "string",
+ "type": "boolean",
"readOnly": false,
- "default": "False",
- "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module.",
- "x-ms-enum": {
- "name": "rebootIfNeeded",
- "modelAsString": true
- },
- "enum": [
- "True",
- "False"
- ]
+ "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module."
},
"configurationModeFrequencyMins": {
"type": "number",
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/createOrUpdateGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/createOrUpdateGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..473c44588a2b
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/createOrUpdateGuestConfigurationAssignment.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "WhitelistedApplication",
+ "api-version": "2021-01-25",
+ "parameters": {
+ "location": "westcentralus",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "name": "WhitelistedApplication",
+ "version": "1.*",
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": false,
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": null,
+ "latestReportId": null,
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": false,
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": null,
+ "latestReportId": null,
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": false,
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
new file mode 100644
index 000000000000..74fd35a92a7f
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "WhitelistedApplication",
+ "api-version": "2021-01-25",
+ "parameters": {
+ "location": "westcentralus",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "name": "WhitelistedApplication",
+ "version": "1.*",
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": false,
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/HybridRP.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": "abcdr453g",
+ "latestReportId": "a2a64e5d-a1a9-4344-a866-fb9e1541f723",
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": false,
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/HybridRP.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": "abcdr453g",
+ "latestReportId": "a2a64e5d-a1a9-4344-a866-fb9e1541f723",
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": false,
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/deleteGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/deleteGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..eb4ca88a52e4
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/deleteGuestConfigurationAssignment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/deleteGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/deleteGuestConfigurationHCRPAssignment.json
new file mode 100644
index 000000000000..5e25b38f9f87
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/deleteGuestConfigurationHCRPAssignment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/deleteGuestConfigurationVMSSAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/deleteGuestConfigurationVMSSAssignment.json
new file mode 100644
index 000000000000..09435aff5e5d
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/deleteGuestConfigurationVMSSAssignment.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmssName": "myVMSSName",
+ "name": "SecureProtocol",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol",
+ "name": "AuditSecureProtocol",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
+ "latestReportId": null,
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": "Succeeded",
+ "resourceType": "VMSS",
+ "vmssVMList": null
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..ab3ac4ec7c7e
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationAssignment.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol",
+ "name": "AuditSecureProtocol",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationAssignmentReportById.json
new file mode 100644
index 000000000000..c9d68a5d097d
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationAssignmentReportById.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myvm",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.0"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "uuid": "vmuuid"
+ },
+ "details": {
+ "complianceStatus": "Compliant",
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z",
+ "jobId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "resources": [
+ {
+ "complianceStatus": "Compliant",
+ "reasons": [
+ {
+ "phrase": "Operation successful.",
+ "code": "DSC::RESOURCE::SUCCESS"
+ }
+ ],
+ "properties": {
+ "ConfigurationName": "IsWebServerSecure",
+ "DependsOn": null,
+ "IsSingleInstance": "Yes",
+ "ModuleName": "SecureProtocolWebServer",
+ "ModuleVersion": "1.0.0.3",
+ "Protocols": [
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 2.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 3.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "PCT 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "Multi-Protocol Unified Hello"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.1"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.2"
+ }
+ ],
+ "PsDscRunAsCredential": null,
+ "Reasons": null,
+ "ResourceId": "[SecureWebServer]s1",
+ "SourceInfo": null
+ }
+ }
+ ],
+ "operationType": "Consistency"
+ },
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationHCRPAssignment.json
new file mode 100644
index 000000000000..ccdc1463d2f1
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationHCRPAssignment.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol",
+ "name": "AuditSecureProtocol",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationHCRPAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationHCRPAssignmentReportById.json
new file mode 100644
index 000000000000..c21d8288d0f8
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getGuestConfigurationHCRPAssignmentReportById.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.0"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName",
+ "uuid": "vmuuid"
+ },
+ "details": {
+ "complianceStatus": "Compliant",
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z",
+ "jobId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "resources": [
+ {
+ "complianceStatus": "Compliant",
+ "reasons": [
+ {
+ "phrase": "Operation successful.",
+ "code": "DSC::RESOURCE::SUCCESS"
+ }
+ ],
+ "properties": {
+ "ConfigurationName": "IsWebServerSecure",
+ "DependsOn": null,
+ "IsSingleInstance": "Yes",
+ "ModuleName": "SecureProtocolWebServer",
+ "ModuleVersion": "1.0.0.3",
+ "Protocols": [
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 2.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 3.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "PCT 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "Multi-Protocol Unified Hello"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.1"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.2"
+ }
+ ],
+ "PsDscRunAsCredential": null,
+ "Reasons": null,
+ "ResourceId": "[SecureWebServer]s1",
+ "SourceInfo": null
+ }
+ }
+ ],
+ "operationType": "Consistency"
+ },
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getVMSSGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getVMSSGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..895adfd119ea
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getVMSSGuestConfigurationAssignment.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmssName": "myVMSSName",
+ "name": "SecureProtocol",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol",
+ "name": "AuditSecureProtocol",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
+ "latestReportId": null,
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": "Succeeded",
+ "resourceType": "VMSS",
+ "vmssVMList": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getVMSSGuestConfigurationAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getVMSSGuestConfigurationAssignmentReportById.json
new file mode 100644
index 000000000000..b85d96b23efc
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/getVMSSGuestConfigurationAssignmentReportById.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "vmssName": "myvmss",
+ "name": "AuditSecureProtocol",
+ "id": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myvmss/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.0"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mySubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myvmss/virtualMachines/1",
+ "uuid": "vmuuid"
+ },
+ "details": {
+ "complianceStatus": "Compliant",
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z",
+ "jobId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "resources": [
+ {
+ "complianceStatus": "Compliant",
+ "reasons": [
+ {
+ "phrase": "Operation successful.",
+ "code": "DSC::RESOURCE::SUCCESS"
+ }
+ ],
+ "properties": {
+ "ConfigurationName": "IsWebServerSecure",
+ "DependsOn": null,
+ "IsSingleInstance": "Yes",
+ "ModuleName": "SecureProtocolWebServer",
+ "ModuleVersion": "1.0.0.3",
+ "Protocols": [
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 2.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 3.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "PCT 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "Multi-Protocol Unified Hello"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.1"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.2"
+ }
+ ],
+ "PsDscRunAsCredential": null,
+ "Reasons": null,
+ "ResourceId": "[SecureWebServer]s1",
+ "SourceInfo": null
+ }
+ }
+ ],
+ "operationType": "Consistency"
+ },
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listAllGuestConfigurationAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listAllGuestConfigurationAssignmentReports.json
new file mode 100644
index 000000000000..d64a13a4ea63
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listAllGuestConfigurationAssignmentReports.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ },
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "name": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T20:13:53Z",
+ "endTime": "2018-08-29T20:14:13Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listAllGuestConfigurationHCRPAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listAllGuestConfigurationHCRPAssignmentReports.json
new file mode 100644
index 000000000000..832b9154a6ac
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listAllGuestConfigurationHCRPAssignmentReports.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ },
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "name": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T20:13:53Z",
+ "endTime": "2018-08-29T20:14:13Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listAllVMSSGuestConfigurationAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listAllVMSSGuestConfigurationAssignmentReports.json
new file mode 100644
index 000000000000..40aa520e57c7
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listAllVMSSGuestConfigurationAssignmentReports.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "vmssName": "myVMSSName",
+ "name": "AuditSecureProtocol",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/virtualMachines/1",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ },
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "name": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/virtualMachines/1",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T20:13:53Z",
+ "endTime": "2018-08-29T20:14:13Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listGuestConfigurationAssignments.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listGuestConfigurationAssignments.json
new file mode 100644
index 000000000000..cfcb5634bbc4
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listGuestConfigurationAssignments.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2",
+ "name": "AuditSecureProtocol2",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol2",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol2/AuditSecureProtocol2_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ },
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment",
+ "name": "myAssignment",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "myAssignment",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/myAssignment/myAssignment.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listGuestConfigurationHCRPAssignments.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listGuestConfigurationHCRPAssignments.json
new file mode 100644
index 000000000000..e97ba7ec0077
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listGuestConfigurationHCRPAssignments.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2",
+ "name": "AuditSecureProtocol2",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol2",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol2/AuditSecureProtocol2_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ },
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment",
+ "name": "myAssignment",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "myAssignment",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/myAssignment/myAssignment.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listOperations.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listOperations.json
new file mode 100644
index 000000000000..e67d2ada8c97
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listOperations.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
+ "description": "Create new guest configuration assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/register/action",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Register",
+ "operation": "Registers the feature for Microsoft.GuestConfiguration.",
+ "description": "Registers the subscription for the Microsoft.GuestConfiguration resource provider."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
+ "description": "Get guest configuration assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read",
+ "description": "Get guest configuration assignment report."
+ },
+ "properties": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listVMSSGuestConfigurationAssignments.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listVMSSGuestConfigurationAssignments.json
new file mode 100644
index 000000000000..707379900fc2
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/examples/listVMSSGuestConfigurationAssignments.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmssName": "myVMSSName",
+ "api-version": "2021-01-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2",
+ "name": "AuditSecureProtocol2",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol2",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol2/AuditSecureProtocol2_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ },
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment",
+ "name": "myAssignment",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSSName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "myAssignment",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/myAssignment/myAssignment.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/guestconfiguration.json
new file mode 100644
index 000000000000..fac640dcaa9b
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2021-01-25/guestconfiguration.json
@@ -0,0 +1,1614 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-01-25",
+ "title": "GuestConfiguration"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": {
+ "put": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_CreateOrUpdate",
+ "description": "Creates an association between a VM and guest configuration",
+ "x-ms-examples": {
+ "Create or update guest configuration assignment": {
+ "$ref": "./examples/createOrUpdateGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ },
+ "description": "Parameters supplied to the create or update guest configuration assignment."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The guest configuration assignment for the VM was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "200": {
+ "description": "OK. The guest configuration assignment for the VM was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_Get",
+ "description": "Get information about a guest configuration assignment",
+ "x-ms-examples": {
+ "Get a guest configuration assignment": {
+ "$ref": "./examples/getGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The guest configuration assignment was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_Delete",
+ "description": "Delete a guest configuration assignment",
+ "x-ms-examples": {
+ "Delete an guest configuration assignment": {
+ "$ref": "./examples/deleteGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_List",
+ "description": "List all guest configuration assignments for a virtual machine.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listGuestConfigurationAssignments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentReports"
+ ],
+ "operationId": "GuestConfigurationAssignmentReports_List",
+ "description": "List all reports for the guest configuration assignment, latest report first.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listAllGuestConfigurationAssignmentReports.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no reports returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReportList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentReports"
+ ],
+ "operationId": "GuestConfigurationAssignmentReports_Get",
+ "description": "Get a report for the guest configuration assignment, by reportId.",
+ "x-ms-examples": {
+ "Get a guest configuration assignment report by Id for a virtual machine": {
+ "$ref": "./examples/getGuestConfigurationAssignmentReportById.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "name": "reportId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The GUID for the guest configuration assignment report."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no report was returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReport"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": {
+ "put": {
+ "tags": [
+ "GuestConfigurationHCRPAssignments"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignments_CreateOrUpdate",
+ "description": "Creates an association between a ARC machine and guest configuration",
+ "x-ms-examples": {
+ "Create or update guest configuration assignment": {
+ "$ref": "./examples/createOrUpdateGuestConfigurationHCRPAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ },
+ "description": "Parameters supplied to the create or update guest configuration assignment."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The guest configuration assignment for the ARC machine was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "200": {
+ "description": "OK. The guest configuration assignment for the ARC machine was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "GuestConfigurationHCRPAssignments"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignments_Get",
+ "description": "Get information about a guest configuration assignment",
+ "x-ms-examples": {
+ "Get a guest configuration assignment": {
+ "$ref": "./examples/getGuestConfigurationHCRPAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The guest configuration assignment was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "GuestConfigurationHCRPAssignments"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignments_Delete",
+ "description": "Delete a guest configuration assignment",
+ "x-ms-examples": {
+ "Delete an guest configuration assignment": {
+ "$ref": "./examples/deleteGuestConfigurationHCRPAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": {
+ "get": {
+ "tags": [
+ "GuestConfigurationHCRPAssignments"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignments_List",
+ "description": "List all guest configuration assignments for an ARC machine.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listGuestConfigurationHCRPAssignments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentHCRPReports"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignmentReports_List",
+ "description": "List all reports for the guest configuration assignment, latest report first.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listAllGuestConfigurationHCRPAssignmentReports.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no reports returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReportList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentHCRPReports"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignmentReports_Get",
+ "description": "Get a report for the guest configuration assignment, by reportId.",
+ "x-ms-examples": {
+ "Get a guest configuration assignment report by Id for a virtual machine": {
+ "$ref": "./examples/getGuestConfigurationHCRPAssignmentReportById.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "name": "reportId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The GUID for the guest configuration assignment report."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no report was returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReport"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{name}": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignmentsVMSS_Get",
+ "description": "Get information about a guest configuration assignment for VMSS",
+ "x-ms-examples": {
+ "Get a VMSS guest configuration assignment": {
+ "$ref": "./examples/getVMSSGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The guest configuration assignment was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignmentsVMSS_Delete",
+ "description": "Delete a guest configuration assignment for VMSS",
+ "x-ms-examples": {
+ "Delete an guest configuration assignment for VMSS": {
+ "$ref": "./examples/deleteGuestConfigurationVMSSAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "204": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignmentsVMSS_List",
+ "description": "List all guest configuration assignments for VMSS.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for VMSS": {
+ "$ref": "./examples/listVMSSGuestConfigurationAssignments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{name}/reports": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentReports"
+ ],
+ "operationId": "GuestConfigurationAssignmentReportsVMSS_List",
+ "description": "List all reports for the VMSS guest configuration assignment, latest report first.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for VMSS": {
+ "$ref": "./examples/listAllVMSSGuestConfigurationAssignmentReports.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no reports returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReportList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{name}/reports/{id}": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentReports"
+ ],
+ "operationId": "GuestConfigurationAssignmentReportsVMSS_Get",
+ "description": "Get a report for the VMSS guest configuration assignment, by reportId.",
+ "x-ms-examples": {
+ "Get a guest configuration assignment report by Id for a virtual machine scale set": {
+ "$ref": "./examples/getVMSSGuestConfigurationAssignmentReportById.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The GUID for the guest configuration assignment report."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no report was returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReport"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/providers/Microsoft.GuestConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available GuestConfiguration REST API operations.",
+ "x-ms-examples": {
+ "Lists all of the available GuestConfiguration REST API operations": {
+ "$ref": "./examples/listOperations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "GuestConfigurationAssignmentList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ },
+ "description": "Result of the list guest configuration assignment operation."
+ }
+ },
+ "description": "The response of the list guest configuration assignment operation."
+ },
+ "GuestConfigurationAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/GuestConfigurationAssignmentProperties",
+ "description": "Properties of the Guest configuration assignment."
+ },
+ "systemData": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Guest configuration assignment is an association between a machine and guest configuration."
+ },
+ "GuestConfigurationNavigation": {
+ "description": "Guest configuration is an artifact that encapsulates DSC configuration and its dependencies. The artifact is a zip file containing DSC configuration (as MOF) and dependent resources and other dependencies like modules.",
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Kind of the guest configuration. For example:DSC",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ },
+ "enum": [
+ "DSC"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the guest configuration."
+ },
+ "version": {
+ "type": "string",
+ "description": "Version of the guest configuration."
+ },
+ "contentUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Uri of the storage where guest configuration package is uploaded."
+ },
+ "contentHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Combined hash of the guest configuration package and configuration parameters."
+ },
+ "configurationParameter": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationParameter"
+ },
+ "description": "The configuration parameters for the guest configuration."
+ },
+ "configurationSetting": {
+ "$ref": "#/definitions/ConfigurationSetting",
+ "description": "The configuration setting for the guest configuration."
+ }
+ }
+ },
+ "ConfigurationParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Name of the configuration parameter."
+ },
+ "value": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Value of the configuration parameter."
+ }
+ },
+ "description": "Represents a configuration parameter."
+ },
+ "ConfigurationSetting": {
+ "properties": {
+ "configurationMode": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Specifies how the LCM(Local Configuration Manager) actually applies the configuration to the target nodes. Possible values are ApplyOnly, ApplyAndMonitor, and ApplyAndAutoCorrect.",
+ "x-ms-enum": {
+ "name": "configurationMode",
+ "modelAsString": true
+ },
+ "enum": [
+ "ApplyOnly",
+ "ApplyAndMonitor",
+ "ApplyAndAutoCorrect"
+ ]
+ },
+ "allowModuleOverwrite": {
+ "type": "boolean",
+ "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false"
+ },
+ "actionAfterReboot": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Specifies what happens after a reboot during the application of a configuration. The possible values are ContinueConfiguration and StopConfiguration",
+ "x-ms-enum": {
+ "name": "actionAfterReboot",
+ "modelAsString": true
+ },
+ "enum": [
+ "ContinueConfiguration",
+ "StopConfiguration"
+ ]
+ },
+ "refreshFrequencyMins": {
+ "type": "number",
+ "readOnly": false,
+ "default": 30,
+ "description": "The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30."
+ },
+ "rebootIfNeeded": {
+ "type": "boolean",
+ "readOnly": false,
+ "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module."
+ },
+ "configurationModeFrequencyMins": {
+ "type": "number",
+ "readOnly": false,
+ "default": 15,
+ "description": "How often, in minutes, the current configuration is checked and applied. This property is ignored if the ConfigurationMode property is set to ApplyOnly. The default value is 15."
+ }
+ },
+ "description": "Configuration setting of LCM (Local Configuration Manager)."
+ },
+ "AssignmentReport": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ARM resource id of the report for the guest configuration assignment."
+ },
+ "reportId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group."
+ },
+ "assignment": {
+ "$ref": "#/definitions/AssignmentInfo",
+ "description": "Configuration details of the guest configuration assignment."
+ },
+ "vm": {
+ "$ref": "#/definitions/VMInfo",
+ "description": "Information about the VM."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start date and time of the guest configuration assignment compliance status check."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End date and time of the guest configuration assignment compliance status check."
+ },
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of report, Consistency or Initial",
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true
+ },
+ "enum": [
+ "Consistency",
+ "Initial"
+ ]
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AssignmentReportResource"
+ },
+ "description": "The list of resources for which guest configuration assignment compliance is checked."
+ }
+ }
+ },
+ "GuestConfigurationAssignmentProperties": {
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "VM resource Id.",
+ "x-nullable": true
+ },
+ "guestConfiguration": {
+ "$ref": "#/definitions/GuestConfigurationNavigation",
+ "description": "The guest configuration to assign."
+ },
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "lastComplianceStatusChecked": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Date and time when last compliance status was checked.",
+ "x-nullable": true
+ },
+ "latestReportId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Id of the latest report for the guest configuration assignment. ",
+ "x-nullable": true
+ },
+ "latestAssignmentReport": {
+ "$ref": "#/definitions/AssignmentReport",
+ "description": "Last reported guest configuration assignment report."
+ },
+ "context": {
+ "type": "string",
+ "description": "The source which initiated the guest configuration assignment. Ex: Azure Policy"
+ },
+ "assignmentHash": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Combined hash of the configuration package and parameters.",
+ "x-nullable": true
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response.",
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ },
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Created"
+ ]
+ },
+ "resourceType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of the resource - VMSS / VM",
+ "x-nullable": true
+ },
+ "vmssVMList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMSSVMInfo"
+ },
+ "description": "The list of VM Compliance data for VMSS"
+ }
+ },
+ "description": "Guest configuration assignment properties."
+ },
+ "GuestConfigurationAssignmentReportList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReport"
+ },
+ "description": "List of reports for the guest configuration. Report contains information such as compliance status, reason and more."
+ }
+ },
+ "description": "List of guest configuration assignment reports."
+ },
+ "GuestConfigurationAssignmentReport": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ARM resource id of the report for the guest configuration assignment."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group."
+ },
+ "properties": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReportProperties",
+ "description": "Properties of the guest configuration report."
+ }
+ },
+ "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more."
+ },
+ "GuestConfigurationAssignmentReportProperties": {
+ "properties": {
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "reportId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group."
+ },
+ "assignment": {
+ "$ref": "#/definitions/AssignmentInfo",
+ "description": "Configuration details of the guest configuration assignment."
+ },
+ "vm": {
+ "$ref": "#/definitions/VMInfo",
+ "description": "Information about the VM."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start date and time of the guest configuration assignment compliance status check."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End date and time of the guest configuration assignment compliance status check."
+ },
+ "details": {
+ "$ref": "#/definitions/AssignmentReportDetails",
+ "description": "Details of the assignment report.",
+ "x-nullable": true
+ },
+ "vmssResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id of the VMSS."
+ }
+ },
+ "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more."
+ },
+ "AssignmentInfo": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the guest configuration assignment."
+ },
+ "configuration": {
+ "$ref": "#/definitions/ConfigurationInfo",
+ "description": "Information about the configuration."
+ }
+ },
+ "description": "Information about the guest configuration assignment."
+ },
+ "VMInfo": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id of the VM."
+ },
+ "uuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID(Universally Unique Identifier) of the VM."
+ }
+ },
+ "description": "Information about the VM."
+ },
+ "ConfigurationInfo": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the configuration."
+ },
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Version of the configuration."
+ }
+ },
+ "description": "Information about the configuration."
+ },
+ "AssignmentReportDetails": {
+ "properties": {
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start date and time of the guest configuration assignment compliance status check."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End date and time of the guest configuration assignment compliance status check."
+ },
+ "jobId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID of the report."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of report, Consistency or Initial",
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true
+ },
+ "enum": [
+ "Consistency",
+ "Initial"
+ ]
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AssignmentReportResource"
+ },
+ "description": "The list of resources for which guest configuration assignment compliance is checked."
+ }
+ },
+ "description": "Details of the guest configuration assignment report."
+ },
+ "AssignmentReportResource": {
+ "properties": {
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "resourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the guest configuration assignment resource setting."
+ },
+ "reasons": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AssignmentReportResourceComplianceReason"
+ },
+ "description": "Compliance reason and reason code for a resource."
+ },
+ "properties": {
+ "type": "object",
+ "readOnly": true,
+ "description": "Properties of a guest configuration assignment resource."
+ }
+ },
+ "description": "The guest configuration assignment resource."
+ },
+ "AssignmentReportResourceComplianceReason": {
+ "properties": {
+ "phrase": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Reason for the compliance of the guest configuration assignment resource."
+ },
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Code for the compliance of the guest configuration assignment resource."
+ }
+ },
+ "description": "Reason and code for the compliance of the guest configuration assignment resource."
+ },
+ "VMSSVMInfo": {
+ "properties": {
+ "vmId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID of the VM."
+ },
+ "vmResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id of the VM."
+ },
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "latestReportId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Id of the latest report for the guest configuration assignment. ",
+ "x-nullable": true
+ },
+ "lastComplianceChecked": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Date and time when last compliance status was checked.",
+ "x-nullable": true
+ }
+ },
+ "description": "Information about VMSS VM"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md b/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md
index 22f8040208d4..5be7eb4b245e 100644
--- a/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md
+++ b/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-guestconfiguration-2021-01-25
- tag: schema-guestconfiguration-2020-06-25
- tag: schema-guestconfiguration-2018-11-20
- tag: schema-guestconfiguration-2018-06-30-preview
@@ -15,6 +16,17 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-guestconfiguration-2021-01-25 and azureresourceschema
+
+``` yaml $(tag) == 'schema-guestconfiguration-2021-01-25' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.GuestConfiguration/stable/2021-01-25/guestconfiguration.json
+
+```
+
### Tag: schema-guestconfiguration-2020-06-25 and azureresourceschema
``` yaml $(tag) == 'schema-guestconfiguration-2020-06-25' && $(azureresourceschema)
diff --git a/specification/guestconfiguration/resource-manager/readme.go.md b/specification/guestconfiguration/resource-manager/readme.go.md
index 07062758e002..d8d85547e22b 100644
--- a/specification/guestconfiguration/resource-manager/readme.go.md
+++ b/specification/guestconfiguration/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: guestconfiguration
clear-output-folder: true
```
@@ -14,6 +14,15 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2020-06-25
+ - tag: package-2021-01-25
+```
+### Tag: package-2021-01-25 and go
+
+These settings apply only when `--tag=package-2021-01-25 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-01-25' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-01-25/$(namespace)
```
### Tag: package-2020-06-25 and go
diff --git a/specification/guestconfiguration/resource-manager/readme.md b/specification/guestconfiguration/resource-manager/readme.md
index 16040945cfd0..4344a24b0079 100644
--- a/specification/guestconfiguration/resource-manager/readme.md
+++ b/specification/guestconfiguration/resource-manager/readme.md
@@ -31,6 +31,15 @@ openapi-type: arm
tag: package-2020-06-25
```
+### Tag: package-2021-01-25
+
+These settings apply only when `--tag=package-2021-01-25` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-01-25'
+input-file:
+ - Microsoft.GuestConfiguration/stable/2021-01-25/guestconfiguration.json
+```
+
### Tag: package-2020-06-25
These settings apply only when `--tag=package-2020-06-25` is specified on the command line.
diff --git a/specification/hanaonazure/resource-manager/readme.go.md b/specification/hanaonazure/resource-manager/readme.go.md
index 05cc71e25015..6b1e824cbd82 100644
--- a/specification/hanaonazure/resource-manager/readme.go.md
+++ b/specification/hanaonazure/resource-manager/readme.go.md
@@ -3,7 +3,7 @@
These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: hanaonazure
clear-output-folder: true
```
diff --git a/specification/hanaonazure/resource-manager/readme.md b/specification/hanaonazure/resource-manager/readme.md
index d02196355af9..37eec780cded 100644
--- a/specification/hanaonazure/resource-manager/readme.md
+++ b/specification/hanaonazure/resource-manager/readme.md
@@ -64,6 +64,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -72,6 +73,9 @@ swagger-to-sdk:
after_scripts:
- node sdkauto_afterscript.js hanaonazure/resource-manager
```
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
## Go
diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.go.md b/specification/hardwaresecuritymodules/resource-manager/readme.go.md
index d346e30613a2..dd8be103c986 100644
--- a/specification/hardwaresecuritymodules/resource-manager/readme.go.md
+++ b/specification/hardwaresecuritymodules/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: hardwaresecuritymodules
clear-output-folder: true
```
diff --git a/specification/hdinsight/data-plane/readme.go.md b/specification/hdinsight/data-plane/readme.go.md
index 9a1d821a78fa..1c8ba26dcc16 100644
--- a/specification/hdinsight/data-plane/readme.go.md
+++ b/specification/hdinsight/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: hdinsight
clear-output-folder: true
```
diff --git a/specification/hdinsight/resource-manager/readme.go.md b/specification/hdinsight/resource-manager/readme.go.md
index c0639958fa2e..c7a07c4c158e 100644
--- a/specification/hdinsight/resource-manager/readme.go.md
+++ b/specification/hdinsight/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: hdinsight
clear-output-folder: true
```
diff --git a/specification/healthbot/resource-manager/readme.csharp.md b/specification/healthbot/resource-manager/readme.csharp.md
index babfcdff06b1..ed8b3273314d 100644
--- a/specification/healthbot/resource-manager/readme.csharp.md
+++ b/specification/healthbot/resource-manager/readme.csharp.md
@@ -11,5 +11,5 @@ csharp:
clear-output-folder: true
client-side-validation: false
namespace: Microsoft.Azure.Management.Healthbot
- output-folder: $(csharp-sdks-folder)/healthbot/management/Microsoft.Azure.Management.Healthbot/src/Generated
+ output-folder: $(csharp-sdks-folder)/healthbot/Microsoft.Azure.Management.Healthbot/src/Generated
```
diff --git a/specification/healthbot/resource-manager/readme.go.md b/specification/healthbot/resource-manager/readme.go.md
index 69c8db2aabba..3a70a7bf310a 100644
--- a/specification/healthbot/resource-manager/readme.go.md
+++ b/specification/healthbot/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: healthbot
```
diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-01-11/healthcare-apis.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-01-11/healthcare-apis.json
index 2bb6eeef2319..28ac6e6b6870 100644
--- a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-01-11/healthcare-apis.json
+++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-01-11/healthcare-apis.json
@@ -771,10 +771,6 @@
"$ref": "#/definitions/ServiceExportConfigurationInfo",
"description": "The settings for the export operation of the service instance."
},
- "acrConfiguration": {
- "$ref": "#/definitions/ServiceAcrConfigurationInfo",
- "description": "The azure container registry settings used for convert data operation of the service instance."
- },
"privateEndpointConnections": {
"description": "The list of private endpoint connections that are set up for this resource.",
"type": "array",
@@ -793,6 +789,10 @@
"name": "PublicNetworkAccess",
"modelAsString": true
}
+ },
+ "acrConfiguration": {
+ "$ref": "#/definitions/ServiceAcrConfigurationInfo",
+ "description": "The azure container registry settings used for convert data operation of the service instance."
}
}
},
diff --git a/specification/healthcareapis/resource-manager/readme.go.md b/specification/healthcareapis/resource-manager/readme.go.md
index b47d6f3e2d80..b96161aa7b6a 100644
--- a/specification/healthcareapis/resource-manager/readme.go.md
+++ b/specification/healthcareapis/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: healthcareapis
clear-output-folder: true
```
diff --git a/specification/healthcareapis/resource-manager/readme.md b/specification/healthcareapis/resource-manager/readme.md
index 0b90637cd79e..56449a1d3987 100644
--- a/specification/healthcareapis/resource-manager/readme.md
+++ b/specification/healthcareapis/resource-manager/readme.md
@@ -88,6 +88,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-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/HybridCompute.json
new file mode 100644
index 000000000000..9e94ee5af6f0
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/HybridCompute.json
@@ -0,0 +1,1119 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HybridComputeManagementClient",
+ "description": "The Hybrid Compute Management Client.",
+ "version": "2021-03-25-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}": {
+ "put": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_CreateOrUpdate",
+ "description": "The operation to create or update a hybrid machine resource identity in Azure.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ },
+ "description": "Parameters supplied to the Create hybrid machine operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine": {
+ "$ref": "./examples/Machines_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Update",
+ "description": "The operation to update a hybrid machine.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineUpdate"
+ },
+ "description": "Parameters supplied to the Update hybrid machine operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a Machine": {
+ "$ref": "./examples/Machines_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Delete",
+ "description": "The operation to remove a hybrid machine identity in Azure.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a Machine": {
+ "$ref": "./examples/Machines_Delete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Get",
+ "description": "Retrieves information about the model view or the instance view of a hybrid machine.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Machine": {
+ "$ref": "./examples/Machines_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": {
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_ListByResourceGroup",
+ "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Machines by resource group": {
+ "$ref": "./examples/Machines_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": {
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_ListBySubscription",
+ "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Machines by resource group": {
+ "$ref": "./examples/Machines_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}": {
+ "put": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension": {
+ "$ref": "./examples/PUTExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Update",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension": {
+ "$ref": "./examples/UpdateExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be deleted."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a Machine Extension": {
+ "$ref": "./examples/DELETEExtension.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GET Machine Extension": {
+ "$ref": "./examples/GETExtension.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions": {
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_List",
+ "description": "The operation to get all extensions of a non-Azure machine",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GET all Machine Extensions": {
+ "$ref": "./examples/LISTExtension.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.HybridCompute/operations": {
+ "get": {
+ "tags": [
+ "operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of hybrid compute operations.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Display properties"
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Hybrid Compute Operation Value Display."
+ },
+ "OSProfile": {
+ "readOnly": true,
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies the host OS name of the hybrid machine."
+ }
+ },
+ "description": "Specifies the operating system settings for the hybrid machine."
+ },
+ "DetectedProperties": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Detected properties from the machine."
+ },
+ "MachineProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings for the hybrid machine."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The status of the hybrid machine agent.",
+ "enum": [
+ "Connected",
+ "Disconnected",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusTypes",
+ "modelAsString": true
+ }
+ },
+ "lastStatusChange": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the last status change."
+ },
+ "errorDetails": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail"
+ },
+ "description": "Details about the error state."
+ },
+ "agentVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The hybrid machine agent full version."
+ },
+ "vmId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "Specifies the hybrid machine unique ID."
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the hybrid machine display name."
+ },
+ "machineFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the hybrid machine FQDN."
+ },
+ "clientPublicKey": {
+ "type": "string",
+ "description": "Public Key that the client provides to be used during initial resource onboarding"
+ },
+ "osName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Operating System running on the hybrid machine."
+ },
+ "osVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Operating System running on the hybrid machine."
+ },
+ "vmUuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Arc Machine's unique SMBIOS ID"
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineExtensionInstanceView"
+ },
+ "description": "Machine Extensions information"
+ },
+ "osSku": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Operating System product SKU."
+ },
+ "domainName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Windows domain name."
+ },
+ "adFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the AD fully qualified display name."
+ },
+ "dnsFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the DNS fully qualified display name."
+ },
+ "privateLinkScopeResourceId": {
+ "type": "string",
+ "description": "The resource id of the private link scope this machine is assigned to, if any."
+ },
+ "parentClusterResourceId": {
+ "type": "string",
+ "description": "The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any."
+ },
+ "detectedProperties": {
+ "$ref": "#/definitions/DetectedProperties",
+ "description": "Detected properties from the machine."
+ }
+ },
+ "description": "Describes the properties of a hybrid machine."
+ },
+ "MachineUpdateProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
+ },
+ "parentClusterResourceId": {
+ "type": "string",
+ "description": "The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any."
+ },
+ "privateLinkScopeResourceId": {
+ "type": "string",
+ "description": "The resource id of the private link scope this machine is assigned to, if any."
+ }
+ },
+ "description": "Describes the ARM updatable properties of a hybrid machine."
+ },
+ "Machine": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MachineProperties",
+ "description": "Hybrid Compute Machine properties"
+ },
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity"
+ },
+ "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"
+ }
+ ],
+ "description": "Describes a hybrid machine."
+ },
+ "MachineUpdate": {
+ "properties": {
+ "identity": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity"
+ },
+ "properties": {
+ "$ref": "#/definitions/MachineUpdateProperties",
+ "description": "Hybrid Compute Machine properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceUpdate"
+ }
+ ],
+ "description": "Describes a hybrid machine Update."
+ },
+ "MachineListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Machine"
+ },
+ "description": "The list of hybrid machines."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List hybrid machine operation response."
+ },
+ "ResourceUpdate": {
+ "description": "The Update Resource model definition.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ }
+ },
+ "MachineExtension": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MachineExtensionProperties",
+ "description": "Describes Machine Extension Properties."
+ },
+ "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"
+ }
+ ],
+ "description": "Describes a Machine Extension."
+ },
+ "MachineExtensionUpdate": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MachineExtensionUpdateProperties",
+ "description": "Describes Machine Extension Update Properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceUpdate"
+ }
+ ],
+ "description": "Describes a Machine Extension Update."
+ },
+ "MachineExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/MachineExtensionInstanceView",
+ "description": "The machine extension instance view."
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionUpdateProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The machine extension name."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "status": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": true
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ }
+ },
+ "description": "Describes the Machine Extension Instance View."
+ },
+ "MachineExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "The list of extensions"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions."
+ }
+ },
+ "description": "Describes the Machine Extensions List Result."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/DELETEExtension.json
new file mode 100644
index 000000000000..51da57de3f26
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/DELETEExtension.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "machineName": "myMachine",
+ "extensionName": "MMA",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/GETExtension.json
new file mode 100644
index 000000000000..ee9b7b7c76c1
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/GETExtension.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "machineName": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/LISTExtension.json
new file mode 100644
index 000000000000..cfbc648b2fcc
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/LISTExtension.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "machineName": "myMachine",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "location": "eastus2euap",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ },
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "formattedMessage: Finished executing command, StdOut: , StdErr: ",
+ "time": "2020-08-13T17:18:57.405Z"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/winosupdateextension",
+ "name": "winosupdateextension",
+ "location": "eastus2euap",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "properties": {
+ "publisher": "microsoft.softwareupdatemanagement.test",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "autoUpgradeMinorVersion": false,
+ "settings": {},
+ "provisioningState": "Creating",
+ "instanceView": {
+ "name": "winosupdateextension",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "status": {}
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_CreateOrUpdate.json
new file mode 100644
index 000000000000..58f293003de0
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_CreateOrUpdate.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "machineName": "myMachine",
+ "api-version": "2021-03-25-preview",
+ "parameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string",
+ "parentClusterResourceId": "{AzureStackHCIResourceId}",
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond",
+ "city": "redmond",
+ "district": null,
+ "countryOrRegion": "usa"
+ },
+ "clientPublicKey": "string",
+ "parentClusterResourceId": "{AzureStackHCIResourceId}",
+ "detectedProperties": {
+ "cloudprovider": "N/A",
+ "manufacturer": "Microsoft Corporation",
+ "model": "Virtual Machine",
+ "mssqldiscovered": "false"
+ },
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_Delete.json
new file mode 100644
index 000000000000..bc8366657266
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "machineName": "myMachine",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_Get.json
new file mode 100644
index 000000000000..ef7793a1ae01
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_Get.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "machineName": "myMachine",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond",
+ "city": "redmond",
+ "district": null,
+ "countryOrRegion": "usa"
+ },
+ "clientPublicKey": "string",
+ "parentClusterResourceId": "{AzureStackHCIResourceId}",
+ "detectedProperties": {
+ "cloudprovider": "N/A",
+ "manufacturer": "Microsoft Corporation",
+ "model": "Virtual Machine",
+ "mssqldiscovered": "false"
+ },
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_ListByResourceGroup.json
new file mode 100644
index 000000000000..7e0c92f9dcac
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_ListByResourceGroup.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string",
+ "parentClusterResourceId": null,
+ "detectedProperties": {
+ "cloudprovider": "N/A",
+ "manufacturer": "Microsoft Corporation",
+ "model": "Virtual Machine",
+ "mssqldiscovered": "false"
+ },
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2",
+ "name": "myMachine2",
+ "location": "westus2",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string",
+ "parentClusterResourceId": "{AzureStackHCIResourceId}",
+ "detectedProperties": {
+ "cloudprovider": "N/A",
+ "manufacturer": "Microsoft Corporation",
+ "model": "Surfacebook",
+ "mssqldiscovered": "true"
+ },
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_ListBySubscription.json
new file mode 100644
index 000000000000..37b8ae978ba7
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_ListBySubscription.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string",
+ "parentClusterResourceId": null,
+ "detectedProperties": {
+ "cloudprovider": "N/A",
+ "manufacturer": "Microsoft Corporation",
+ "model": "Virtual Machine",
+ "mssqldiscovered": "false"
+ },
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2",
+ "name": "myMachine2",
+ "location": "westus2",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string",
+ "parentClusterResourceId": "{AzureStackHCIResourceId}",
+ "detectedProperties": {
+ "cloudprovider": "N/A",
+ "manufacturer": "Microsoft Corporation",
+ "model": "Surfacebook",
+ "mssqldiscovered": "true"
+ }
+ }
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_Update.json
new file mode 100644
index 000000000000..8d30468e5784
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/Machines_Update.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "machineName": "myMachine",
+ "api-version": "2021-03-25-preview",
+ "location": "eastus2euap",
+ "parameters": {
+ "properties": {
+ "locationData": {
+ "name": "Redmond"
+ },
+ "parentClusterResourceId": "{AzureStackHCIResourceId}",
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string",
+ "parentClusterResourceId": "{AzureStackHCIResourceId}",
+ "detectedProperties": null,
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PUTExtension.json
new file mode 100644
index 000000000000..c304e7df3e88
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PUTExtension.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "machineName": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2021-03-25-preview",
+ "extensionParameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..fcdee5cac609
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "privateEndpointConnectionName": "private-endpoint-connection-name",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..3edae030dbb6
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "privateEndpointConnectionName": "private-endpoint-connection-name",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name",
+ "name": "private-endpoint-connection-name",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionList.json
new file mode 100644
index 000000000000..6213df8101b6
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionList.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2",
+ "name": "private-endpoint-connection-name",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2",
+ "name": "private-endpoint-connection-name-2",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name-2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my connection.",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..fcd9bc933a74
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateEndpointConnectionUpdate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "privateEndpointConnectionName": "private-endpoint-connection-name",
+ "api-version": "2021-03-25-preview",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name",
+ "name": "private-endpoint-connection-name",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json
new file mode 100644
index 000000000000..89887e28630d
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "api-version": "2021-03-25-preview",
+ "groupName": "hybridcompute"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateLinkResources/hybridcompute",
+ "name": "hybridcompute",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateLinkResources",
+ "properties": {
+ "groupId": "hybridcompute",
+ "requiredMembers": [
+ "HybridCompute.Server",
+ "HybridCompute.K8sConfiguration",
+ "GuestConfig.DP"
+ ],
+ "requiredZoneNames": [
+ "privatelink.his.arc.azure.com",
+ "privatelink.kubernetesconfiguration.azure.com",
+ "privatelink.Guestconfiguration.azure.com"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..f080f24d77e0
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "api-version": "2021-03-25-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateLinkResources/hybridcompute",
+ "name": "hybridcompute",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateLinkResources",
+ "properties": {
+ "groupId": "hybridcompute",
+ "requiredMembers": [
+ "HybridCompute.ServerDP",
+ "HybridCompute.K8sConfigurationDP",
+ "HybridCompute.GuestConfigDP"
+ ],
+ "requiredZoneNames": [
+ "privatelink.his.arc.azure.com",
+ "privatelink.kubernetesconfiguration.azure.com",
+ "privatelink.Guestconfiguration.azure.com"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesCreate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesCreate.json
new file mode 100644
index 000000000000..1ef3f530ca40
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-03-25-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope",
+ "parameters": {
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesDelete.json
new file mode 100644
index 000000000000..f32e4e0eb5b5
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-03-25-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesGet.json
new file mode 100644
index 000000000000..6d2d369229c7
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-03-25-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "privateLinkScopeId": "f5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesGetValidation.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesGetValidation.json
new file mode 100644
index 000000000000..32b90c12cf1c
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesGetValidation.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-03-25-preview",
+ "location": "wus2",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "privateLinkScopeId": "f5dc51d3-92ed-4d7e-947a-775ea79b4919"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "publicNetworkAccess": "Disabled",
+ "connectionDetails": [
+ {
+ "id": "id",
+ "privateIpAddress": "ip",
+ "linkIdentifier": "linkId",
+ "groupId": "groupId",
+ "memberName": "memberName"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesGetValidationForMachine.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesGetValidationForMachine.json
new file mode 100644
index 000000000000..37710efffb5c
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesGetValidationForMachine.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-03-25-preview",
+ "location": "wus2",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "machineName": "machineName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "publicNetworkAccess": "Disabled",
+ "connectionDetails": [
+ {
+ "id": "id",
+ "privateIpAddress": "ip",
+ "linkIdentifier": "linkId",
+ "groupId": "groupId",
+ "memberName": "memberName"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesList.json
new file mode 100644
index 000000000000..e535bba170e5
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-10-17-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-other-privatelinkscope",
+ "name": "my-other-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "privateLinkScopeId": "f5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesListByResourceGroup.json
new file mode 100644
index 000000000000..b8a03a8177ad
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesListByResourceGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-03-25-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "privateLinkScopeId": "f5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-other-privatelinkscope",
+ "name": "my-other-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "privateLinkScopeId": "a5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesUpdate.json
new file mode 100644
index 000000000000..9ce93775a8a2
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesUpdate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-03-25-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "Tag1": "Value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridCompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridCompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesUpdateTagsOnly.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesUpdateTagsOnly.json
new file mode 100644
index 000000000000..852f22f89b0f
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/PrivateLinkScopesUpdateTagsOnly.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-03-25-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope",
+ "PrivateLinkScopeTags": {
+ "tags": {
+ "Tag1": "Value1",
+ "Tag2": "Value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {
+ "Tag1": "Value1",
+ "Tag2": "Value2"
+ },
+ "properties": {
+ "privateLinkScopeId": "e5dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/UpdateExtension.json
new file mode 100644
index 000000000000..38139a054e38
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/examples/UpdateExtension.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "machineName": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2021-03-25-preview",
+ "extensionParameters": {
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-01-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/privateLinkScopes.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/privateLinkScopes.json
new file mode 100644
index 000000000000..3487181575ee
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2021-03-25-preview/privateLinkScopes.json
@@ -0,0 +1,1050 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HybridComputeManagementClient",
+ "x-ms-code-generation-settings": {
+ "name": "HybridComputeManagementClient"
+ },
+ "description": "Azure Arc( Servers and K8s Clusters) API reference for Private Link's Scopes management.",
+ "version": "2021-03-25-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/privateLinkScopes": {
+ "get": {
+ "description": "Gets a list of all Azure Arc PrivateLinkScopes within a subscription.",
+ "operationId": "PrivateLinkScopes_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more Azure Arc PrivateLinkScope definitions.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScopeListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopesList.json": {
+ "$ref": "./examples/PrivateLinkScopesList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes": {
+ "get": {
+ "description": "Gets a list of Azure Arc PrivateLinkScopes within a resource group.",
+ "operationId": "PrivateLinkScopes_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../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 Azure Arc PrivateLinkScope definitions.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScopeListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeListByResourceGroup": {
+ "$ref": "./examples/PrivateLinkScopesListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}": {
+ "delete": {
+ "description": "Deletes a Azure Arc PrivateLinkScope.",
+ "operationId": "PrivateLinkScopes_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../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/PrivateLinkScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request when deleting an Azure Arc PrivateLinkScope."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified PrivateLinkScope does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PrivateLinkScopesDelete": {
+ "$ref": "./examples/PrivateLinkScopesDelete.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Returns a Azure Arc PrivateLinkScope.",
+ "operationId": "PrivateLinkScopes_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../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/PrivateLinkScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure Arc PrivateLinkScope definition.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeGet": {
+ "$ref": "./examples/PrivateLinkScopesGet.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Creates (or updates) a Azure Arc PrivateLinkScope. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.",
+ "operationId": "PrivateLinkScopes_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../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/PrivateLinkScopeName"
+ },
+ {
+ "name": "parameters",
+ "description": "Properties that need to be specified to create or update a Azure Arc for Servers and Clusters PrivateLinkScope.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope is returned.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "201": {
+ "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope was created and is returned.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeCreate": {
+ "$ref": "./examples/PrivateLinkScopesCreate.json"
+ },
+ "PrivateLinkScopeUpdate": {
+ "$ref": "./examples/PrivateLinkScopesUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate method.",
+ "operationId": "PrivateLinkScopes_UpdateTags",
+ "parameters": [
+ {
+ "$ref": "../../../../../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/PrivateLinkScopeName"
+ },
+ {
+ "name": "PrivateLinkScopeTags",
+ "description": "Updated tag information to set into the PrivateLinkScope instance.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updating the Azure Arc PrivateLinkScope's tags was successful. PrivateLinkScope tags are updated and returned with the rest of the PrivateLinkScope's object properties.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeUpdateTagsOnly": {
+ "$ref": "./examples/PrivateLinkScopesUpdateTagsOnly.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.",
+ "operationId": "PrivateLinkResources_ListByPrivateLinkScope",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/PrivateLinkScopePrivateLinkResourceListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.",
+ "operationId": "PrivateLinkResources_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "$ref": "#/parameters/GroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private link resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/PrivateLinkScopePrivateLinkResourceGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Gets a private endpoint connection.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a specified private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/PrivateEndpointConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Approve or reject a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully approved or rejected private endpoint connection.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Approve or reject a private endpoint connection with a given name.": {
+ "$ref": "./examples/PrivateEndpointConnectionUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes a private endpoint connection with a given name.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted private endpoint connection."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "Private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes a private endpoint connection with a given name.": {
+ "$ref": "./examples/PrivateEndpointConnectionDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Gets all private endpoint connections on a private link scope.",
+ "operationId": "PrivateEndpointConnections_ListByPrivateLinkScope",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private endpoint connections.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets list of private endpoint connections on a private link scope.": {
+ "$ref": "./examples/PrivateEndpointConnectionList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/privateLinkScopes/{privateLinkScopeId}": {
+ "get": {
+ "description": "Returns a Azure Arc PrivateLinkScope's validation details.",
+ "operationId": "PrivateLinkScopes_GetValidationDetails",
+ "parameters": [
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure Arc PrivateLinkScope validation details definition.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkScopeValidationDetails"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeGet": {
+ "$ref": "./examples/PrivateLinkScopesGetValidation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/privateLinkScopes/current": {
+ "get": {
+ "description": "Returns a Azure Arc PrivateLinkScope's validation details for a given machine.",
+ "operationId": "PrivateLinkScopes_GetValidationDetailsForMachine",
+ "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/MachineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure Arc PrivateLinkScope validation details definition.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkScopeValidationDetails"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeGet": {
+ "$ref": "./examples/PrivateLinkScopesGetValidationForMachine.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateLinkScopesResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "name": {
+ "type": "string",
+ "description": "Azure resource name",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a PrivateLinkScope instance."
+ },
+ "HybridComputePrivateLinkScope": {
+ "properties": {
+ "properties": {
+ "description": "Properties that define a Azure Arc PrivateLinkScope resource.",
+ "$ref": "#/definitions/HybridComputePrivateLinkScopeProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PrivateLinkScopesResource"
+ }
+ ],
+ "description": "An Azure Arc PrivateLinkScope definition."
+ },
+ "PrivateLinkScopeValidationDetails": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "publicNetworkAccess": {
+ "description": "Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints.",
+ "$ref": "#/definitions/PublicNetworkAccessType"
+ },
+ "connectionDetails": {
+ "type": "array",
+ "description": "List of Private Endpoint Connection details.",
+ "items": {
+ "$ref": "#/definitions/ConnectionDetail"
+ }
+ }
+ }
+ },
+ "ConnectionDetail": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "privateIpAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The private endpoint connection private ip address"
+ },
+ "linkIdentifier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The private endpoint connection link identifier"
+ },
+ "groupId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The private endpoint connection group id"
+ },
+ "memberName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The private endpoint connection member name"
+ }
+ }
+ },
+ "HybridComputePrivateLinkScopeProperties": {
+ "description": "Properties that define a Azure Arc PrivateLinkScope resource.",
+ "properties": {
+ "publicNetworkAccess": {
+ "description": "Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints.",
+ "$ref": "#/definitions/PublicNetworkAccessType"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Current state of this PrivateLinkScope: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Provisioning ,Succeeded, Canceled and Failed.",
+ "readOnly": true
+ },
+ "privateLinkScopeId": {
+ "readOnly": true,
+ "description": "The Guid id of the private link scope.",
+ "type": "string"
+ }
+ }
+ },
+ "HybridComputePrivateLinkScopeListResult": {
+ "description": "Describes the list of Azure Arc PrivateLinkScope resources.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Azure Arc PrivateLinkScope definitions.",
+ "items": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to get the next set of Azure Arc PrivateLinkScope definitions if too many PrivateLinkScopes where returned in the result set."
+ }
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "description": "A list of private link resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties."
+ },
+ "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/ProxyResource"
+ }
+ ]
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "Properties of a private link resource.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "description": "Required DNS zone names of the the private link resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpointProperty",
+ "description": "Private endpoint which the connection belongs to."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty",
+ "description": "Connection state of the private endpoint connection."
+ },
+ "provisioningState": {
+ "description": "State of the private endpoint connection.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateEndpointProperty": {
+ "description": "Private endpoint which the connection belongs to.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource id of the private endpoint.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionStateProperty": {
+ "description": "State of the private endpoint connection.",
+ "type": "object",
+ "required": [
+ "status",
+ "description"
+ ],
+ "properties": {
+ "status": {
+ "description": "The private link service connection status.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The private link service connection description.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "The actions required for private link service connection.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Resource properties."
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "A list of private endpoint connections.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PublicNetworkAccessType": {
+ "type": "string",
+ "description": "The network access policy to determine if Azure Arc agents can use public Azure Arc service endpoints. Defaults to disabled (access to Azure Arc services only via private link).",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccessType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Allows Azure Arc agents to communicate with Azure Arc services over both public (internet) and private endpoints."
+ },
+ {
+ "value": "Disabled",
+ "description": "Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "PrivateLinkScopeName": {
+ "name": "scopeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Arc PrivateLinkScope resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateLinkScopeId": {
+ "name": "privateLinkScopeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The id (Guid) of the Azure Arc PrivateLinkScope resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "GroupNameParameter": {
+ "name": "groupName",
+ "in": "path",
+ "description": "The name of the private link resource.",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "string"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The location of the target resource.",
+ "minLength": 1
+ },
+ "MachineNameParameter": {
+ "name": "machineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the target machine to get the private link scope validation details for.",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/readme.azureresourceschema.md b/specification/hybridcompute/resource-manager/readme.azureresourceschema.md
index ecf289d5125f..71d20d8035da 100644
--- a/specification/hybridcompute/resource-manager/readme.azureresourceschema.md
+++ b/specification/hybridcompute/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,8 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-hybridcompute-2021-03-25-preview
+ - tag: schema-hybridcompute-2021-01-28-preview
- tag: schema-hybridcompute-2020-08-15-preview
- tag: schema-hybridcompute-2020-08-02
- tag: schema-hybridcompute-2020-07-30-preview
@@ -17,6 +19,30 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-hybridcompute-2021-03-25-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybridcompute-2021-03-25-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridCompute/preview/2021-03-25-preview/HybridCompute.json
+ - Microsoft.HybridCompute/preview/2021-03-25-preview/privateLinkScopes.json
+
+```
+
+### Tag: schema-hybridcompute-2021-01-28-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybridcompute-2021-01-28-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridCompute/preview/2021-01-28-preview/HybridCompute.json
+ - Microsoft.HybridCompute/preview/2021-01-28-preview/privateLinkScopes.json
+
+```
+
### Tag: schema-hybridcompute-2020-08-15-preview and azureresourceschema
``` yaml $(tag) == 'schema-hybridcompute-2020-08-15-preview' && $(azureresourceschema)
diff --git a/specification/hybridcompute/resource-manager/readme.go.md b/specification/hybridcompute/resource-manager/readme.go.md
index 85441e52dba6..1a0f892c23d5 100644
--- a/specification/hybridcompute/resource-manager/readme.go.md
+++ b/specification/hybridcompute/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: hybridcompute
diff --git a/specification/hybridcompute/resource-manager/readme.md b/specification/hybridcompute/resource-manager/readme.md
index b53e35a269ce..732df4677c27 100644
--- a/specification/hybridcompute/resource-manager/readme.md
+++ b/specification/hybridcompute/resource-manager/readme.md
@@ -26,9 +26,19 @@ These are the global settings for the HybridCompute API.
``` yaml
openapi-type: arm
-tag: package-preview-2021-01
+tag: package-preview-2021-03
```
+
+### Tag: package-preview-2021-03
+
+These settings apply only when `--tag=package-preview-2021-03` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-03'
+input-file:
+ - Microsoft.HybridCompute/preview/2021-03-25-preview/HybridCompute.json
+ - Microsoft.HybridCompute/preview/2021-03-25-preview/privateLinkScopes.json
+```
### Tag: package-preview-2021-01
These settings apply only when `--tag=package-preview-2021-01` is specified on the command line.
@@ -108,6 +118,7 @@ swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/hybridcompute/resource-manager/readme.python.md b/specification/hybridcompute/resource-manager/readme.python.md
index 61ea40097b56..5e4d8f38a28d 100644
--- a/specification/hybridcompute/resource-manager/readme.python.md
+++ b/specification/hybridcompute/resource-manager/readme.python.md
@@ -20,6 +20,7 @@ azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.hybridcompute
package-name: azure-mgmt-hybridcompute
+package-version: 1.0.0b1
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
diff --git a/specification/hybriddatamanager/resource-manager/readme.go.md b/specification/hybriddatamanager/resource-manager/readme.go.md
index 02bb59efe6d8..95466806d066 100644
--- a/specification/hybriddatamanager/resource-manager/readme.go.md
+++ b/specification/hybriddatamanager/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: hybriddata
clear-output-folder: true
```
diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/connectedClusters.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/connectedClusters.json
index 6101e3836aba..1ffe9611b9d7 100644
--- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/connectedClusters.json
+++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/connectedClusters.json
@@ -42,6 +42,9 @@
"x-ms-examples": {
"CreateClusterExample": {
"$ref": "./examples/CreateClusterExample.json"
+ },
+ "CreateClusterPrivateLinkExample": {
+ "$ref": "./examples/CreateClusterPrivateLinkExample.json"
}
},
"parameters": [
@@ -105,6 +108,9 @@
"x-ms-examples": {
"UpdateClusterExample": {
"$ref": "./examples/UpdateClusterExample.json"
+ },
+ "UpdateClusterPrivateLinkExample": {
+ "$ref": "./examples/UpdateClusterPrivateLinkExample.json"
}
},
"parameters": [
@@ -614,6 +620,19 @@
"modelAsString": true
}
},
+ "privateLinkState": {
+ "type": "string",
+ "description": "Property which describes the state of private link on a connected cluster resource.",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateLinkState",
+ "modelAsString": true
+ }
+ },
"privateLinkScopeResourceId": {
"type": "string",
"description": "The resource id of the private link scope this connected cluster is assigned to, if any."
@@ -694,6 +713,18 @@
"ConnectedClusterPatchProperties": {
"type": "object",
"properties": {
+ "privateLinkState": {
+ "type": "string",
+ "description": "Property which describes the state of private link on a connected cluster resource.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateLinkState",
+ "modelAsString": true
+ }
+ },
"privateLinkScopeResourceId": {
"type": "string",
"description": "The resource id of the private link scope this connected cluster is assigned to, if any."
diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/CreateClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/CreateClusterExample.json
index cca2de02ca0d..f694867f464b 100644
--- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/CreateClusterExample.json
+++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/CreateClusterExample.json
@@ -11,8 +11,7 @@
"type": "SystemAssigned"
},
"properties": {
- "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO",
- "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO"
}
}
},
@@ -40,7 +39,6 @@
"kubernetesVersion": "1.17.0",
"totalNodeCount": 2,
"agentVersion": "0.1.0",
- "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
"provisioningState": "Succeeded"
}
}
@@ -68,7 +66,6 @@
"kubernetesVersion": "1.17.0",
"totalNodeCount": 2,
"agentVersion": "0.1.0",
- "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
"provisioningState": "Accepted"
}
}
diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/CreateClusterPrivateLinkExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/CreateClusterPrivateLinkExample.json
new file mode 100644
index 000000000000..35813d791130
--- /dev/null
+++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/CreateClusterPrivateLinkExample.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5",
+ "resourceGroupName": "k8sc-rg",
+ "clusterName": "testCluster",
+ "api-version": "2021-04-01-preview",
+ "ConnectedCluster": {
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO",
+ "privateLinkState": "Enabled",
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1",
+ "name": "connectedCluster1",
+ "type": "Microsoft.Kubernetes/connectedClusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "sikasire@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2020-12-17T07:06:33.9173186Z",
+ "lastModifiedBy": "sikasire@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-12-17T07:06:33.9173186Z"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO",
+ "kubernetesVersion": "1.17.0",
+ "totalNodeCount": 2,
+ "agentVersion": "0.1.0",
+ "privateLinkState": "Enabled",
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1",
+ "name": "connectedCluster1",
+ "type": "Microsoft.Kubernetes/connectedClusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "sikasire@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2020-12-17T07:06:33.9173186Z",
+ "lastModifiedBy": "sikasire@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-12-17T07:06:33.9173186Z"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO",
+ "kubernetesVersion": "1.17.0",
+ "totalNodeCount": 2,
+ "agentVersion": "0.1.0",
+ "privateLinkState": "Enabled",
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
+ "provisioningState": "Accepted"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClusterExample.json
index e0942e824449..100a33266964 100644
--- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClusterExample.json
+++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClusterExample.json
@@ -31,7 +31,7 @@
"kubernetesVersion": "1.17.0",
"totalNodeCount": 2,
"agentVersion": "0.1.0",
- "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
+ "privateLinkState": "Disabled",
"provisioningState": "Succeeded"
}
}
diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClustersByResourceGroupExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClustersByResourceGroupExample.json
index ee96713eb9ac..649f3e78d03e 100644
--- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClustersByResourceGroupExample.json
+++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClustersByResourceGroupExample.json
@@ -32,6 +32,7 @@
"kubernetesVersion": "1.17.0",
"totalNodeCount": 2,
"agentVersion": "0.1.0",
+ "privateLinkState": "Disabled",
"provisioningState": "Succeeded"
}
},
@@ -59,6 +60,7 @@
"kubernetesVersion": "1.1",
"totalNodeCount": 2,
"agentVersion": "0.1.0",
+ "privateLinkState": "Enabled",
"privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
"provisioningState": "Succeeded"
}
diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClustersBySubscriptionExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClustersBySubscriptionExample.json
index 4fc87eb166f1..ac6cdcad80ae 100644
--- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClustersBySubscriptionExample.json
+++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/GetClustersBySubscriptionExample.json
@@ -31,6 +31,7 @@
"kubernetesVersion": "1.17.0",
"totalNodeCount": 2,
"agentVersion": "0.1.0",
+ "privateLinkState": "Disabled",
"provisioningState": "Succeeded"
}
},
@@ -58,6 +59,7 @@
"kubernetesVersion": "1.16.3",
"totalNodeCount": 4,
"agentVersion": "0.1.0",
+ "privateLinkState": "Enabled",
"privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
"provisioningState": "Succeeded"
}
diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/UpdateClusterExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/UpdateClusterExample.json
index 7410166d678c..f1884c0948f2 100644
--- a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/UpdateClusterExample.json
+++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/UpdateClusterExample.json
@@ -8,9 +8,6 @@
"tags": {
"tag1": "value1",
"tag2": "value2"
- },
- "properties": {
- "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
}
}
},
@@ -21,7 +18,10 @@
"name": "connectedCluster1",
"type": "Microsoft.Kubernetes/connectedClusters",
"location": "East US",
- "tags": {},
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
"systemData": {
"createdBy": "sikasire@microsoft.com",
"createdByType": "User",
@@ -38,7 +38,7 @@
"kubernetesVersion": "1.17.0",
"totalNodeCount": 2,
"agentVersion": "0.1.0",
- "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
+ "privateLinkState": "Disabled",
"provisioningState": "Succeeded"
}
}
diff --git a/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/UpdateClusterPrivateLinkExample.json b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/UpdateClusterPrivateLinkExample.json
new file mode 100644
index 000000000000..0269479b95a2
--- /dev/null
+++ b/specification/hybridkubernetes/resource-manager/Microsoft.Kubernetes/preview/2021-04-01-preview/examples/UpdateClusterPrivateLinkExample.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "1bfbb5d0-917e-4346-9026-1d3b344417f5",
+ "resourceGroupName": "k8sc-rg",
+ "clusterName": "testCluster",
+ "ConnectedClusterPatch": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "privateLinkState": "Enabled",
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/1bfbb5d0-917e-4346-9026-1d3b344417f5/resourceGroups/akkeshar/providers/Microsoft.Kubernetes/connectedClusters/connectedCluster1",
+ "name": "connectedCluster1",
+ "type": "Microsoft.Kubernetes/connectedClusters",
+ "location": "East US",
+ "tags": {},
+ "systemData": {
+ "createdBy": "sikasire@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2020-12-17T07:06:33.9173186Z",
+ "lastModifiedBy": "2d2a754c-cade-4935-83d4-ce413c5a3910",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-12-17T07:14:58.865041Z"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "agentPublicKeyCertificate": "MIICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUFADAuMQswCQYDVQQGEwJVUzEMMAoGA1UEChMDSUJNMREwDwYDVQQLEwhMb2NhbCBDQTAeFw05OTEyMjIwNTAwMDBaFw0wMDEyMjMwNDU5NTlaMC4xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xETAPBgNVBAsTCExvY2FsIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2bZEo7xGaX2/0GHkrNFZvlxBou9v1Jmt/PDiTMPve8r9FeJAQ0QdvFST/0JPQYD20rH0bimdDLgNdNynmyRoS2S/IInfpmf69iyc2G0TPyRvmHIiOZbdCd+YBHQi1adkj17NDcWj6S14tVurFX73zx0sNoMS79q3tuXKrDsxeuwIDAQABo4GQMIGNMEsGCVUdDwGG+EIBDQQ+EzxHZW5lcmF0ZWQgYnkgdGhlIFNlY3VyZVdheSBTZWN1cml0eSBTZXJ2ZXIgZm9yIE9TLzM5MCAoUkFDRikwDgYDVR0PAQH/BAQDAgAGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ3+ocRyCTJw067dLSwr/nalx6YMMA0GCSqGSIb3DQEBBQUAA4GBAMaQzt+zaj1GU77yzlr8iiMBXgdQrwsZZWJo5exnAucJAEYQZmOfyLiM D6oYq+ZnfvM0n8G/Y79q8nhwvuxpYOnRSAXFp6xSkrIOeZtJMY1h00LKp/JX3Ng1svZ2agE126JHsQ0bhzN5TKsYfbwfTwfjdWAGy6Vf1nYi/rO+ryMO",
+ "kubernetesVersion": "1.17.0",
+ "totalNodeCount": 2,
+ "agentVersion": "0.1.0",
+ "privateLinkState": "Enabled",
+ "privateLinkScopeResourceId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/privateLinkScopeName",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridkubernetes/resource-manager/readme.go.md b/specification/hybridkubernetes/resource-manager/readme.go.md
index 30f9221a7e10..01c242b7cc82 100644
--- a/specification/hybridkubernetes/resource-manager/readme.go.md
+++ b/specification/hybridkubernetes/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
diff --git a/specification/hybridkubernetes/resource-manager/readme.typescript.md b/specification/hybridkubernetes/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..a303cdd3efc4
--- /dev/null
+++ b/specification/hybridkubernetes/resource-manager/readme.typescript.md
@@ -0,0 +1,14 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-hybridkubernetes"
+ output-folder: "$(typescript-sdks-folder)/sdk/hybridkubernetes/arm-hybridkubernetes"
+ clear-output-folder: true
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/hybridnetwork/resource-manager/readme.go.md b/specification/hybridnetwork/resource-manager/readme.go.md
index 82b8abc88bd1..d68114f2fd4c 100644
--- a/specification/hybridnetwork/resource-manager/readme.go.md
+++ b/specification/hybridnetwork/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
```
diff --git a/specification/hybridnetwork/resource-manager/readme.md b/specification/hybridnetwork/resource-manager/readme.md
index 0587f415d85b..34d0a0e7d325 100644
--- a/specification/hybridnetwork/resource-manager/readme.md
+++ b/specification/hybridnetwork/resource-manager/readme.md
@@ -54,7 +54,7 @@ This is not used by Autorest itself.
```yaml $(swagger-to-sdk)
swagger-to-sdk:
- - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
diff --git a/specification/hybridnetwork/resource-manager/readme.python.md b/specification/hybridnetwork/resource-manager/readme.python.md
index 312e0b025d5e..5179d31cf99f 100644
--- a/specification/hybridnetwork/resource-manager/readme.python.md
+++ b/specification/hybridnetwork/resource-manager/readme.python.md
@@ -3,19 +3,20 @@
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.HybridNetwork
- package-name: hybridnetwork
- package-version: 2020-01-01-preview
- clear-output-folder: true
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-hybridnetwork
+package-version: 1.0.0b1
+clear-output-folder: true
```
-```yaml $(python)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt/hybridnetwork
+```yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/hybridnetwork/azure-mgmt-hybridnetwork/azure/mgmt/hybridnetwork
```
+
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/hybridnetwork/azure-mgmt-hybridnetwork
+```
\ No newline at end of file
diff --git a/specification/imagebuilder/resource-manager/readme.go.md b/specification/imagebuilder/resource-manager/readme.go.md
index c006a0d7bdcf..6fa4196122d9 100644
--- a/specification/imagebuilder/resource-manager/readme.go.md
+++ b/specification/imagebuilder/resource-manager/readme.go.md
@@ -3,7 +3,7 @@
These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: virtualmachineimagebuilder
clear-output-folder: true
```
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetAttestedData.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetAttestedData.json
new file mode 100644
index 000000000000..2ac78dfcea43
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetAttestedData.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-07-15",
+ "nonce": "abcde12345",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "encoding": "pkcs7",
+ "signature": "MIID2gYJKoZIhvcNAQcCoIIDyzCCA8cCAQExDzANBgkqhkiG9w0BAQsFADCBggYJKoZIhvcNAQcBoHUEc3sibm9uY2UiOiIxMTExMTExMTExIiwicGxhbiI6eyJuYW1lIjoiIiwicHJvZHVjdCI6IiIsInB1Ymxpc2hlciI6IiJ9LCJ2bUlkIjoiMDJhYWI4YTQtNzRlZi00NzZlLTgxODItZjZkMmJhNDE2NmE2In2gggI/MIICOzCCAaSgAwIBAgIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQQFADArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbTAeFw0xODExMDgxODUzMDRaFw0xODEyMDgxODUzMDNaMCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEi0FVslYnUX+MneC7ERMU4ZM88z4J80r7RPgvzxCPNhXUQlWm3cmVRZMD8kKMv7brkvEsATP7Ak60/I/XEtOga4LGCvMaQa8I/MW8IhSyp2Vj015glAiV8TeUI5DuOIOS96lQvM+G7bt23swkIwVjm1u1ViTZiKKytwpY/EGqzQIDAQABo2AwXjBcBgNVHQEEVTBTgBAt3MRgJmEoUMiPy7k06cLfoS0wKzEpMCcGA1UEAxMgdGVzdHN1YmRvbWFpbi5tZXRhZGF0YS5henVyZS5jb22CEEFrBY1zd+aASShVyN0KzN0wDQYJKoZIhvcNAQEEBQADgYEAd87qiZnRlGIFQ5IEcL/A7ru23WSQAOBsNPt70Fg1GtaEHcYshKUJFhGwXOgZ11cY5wRfrSvEKuzvhAeIZwkvzkBjC04g8sRrjN5leLY5CsKzQhjN52TUMsHhqTM58tfAnICeTddQwn6LOgfqtYH5WO+F/VbFCwPstYUqjmQEYAoxgegwgeUCAQEwPzArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbQIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQsFADANBgkqhkiG9w0BAQEFAASBgCbkRKmQ1MdWZPVOrX7ZBKHQUWPFrQQNdjk3KB67GkY0W0Taxut4K7D2PmiflVEwxB92pTbaZZr/dldu1k1ab1YamHcVYdgZgxIkoOWohGR0ym8oL9JHjFMEqHUbEPtDwE8X+djtDd8TVdb6LYe77IXmz/VaX4whuejlSvQXjaL"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetIdentityInfo.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetIdentityInfo.json
new file mode 100644
index 000000000000..6327ddf5b046
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetIdentityInfo.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-07-15",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tenantId": "abd8daee-d393-4239-9377-883adda3d40f"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetIdentityToken.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetIdentityToken.json
new file mode 100644
index 000000000000..d37014d3082e
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetIdentityToken.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-07-15",
+ "Metadata": "true",
+ "resource": "https://vault.azure.net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "access_token": "dummytoken",
+ "client_id": "be5947ed-3560-4afe-9504-59967a63f810",
+ "expires_in": "3599",
+ "expires_on": "1541705014",
+ "ext_expires_in": "262800",
+ "not_before": "1508961830",
+ "resource": "https://va"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetInstanceMetadata.json
new file mode 100644
index 000000000000..bb0ae1b82188
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/examples/GetInstanceMetadata.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "api-version": "2020-07-15",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "compute": {
+ "azEnvironment": "AZUREPUBLICCLOUD",
+ "isHostCompatibilityLayerVm": "true",
+ "location": "westus",
+ "name": "examplevmname",
+ "offer": "Windows",
+ "osProfile": {
+ "adminUsername": "admin",
+ "computerName": "examplevmname"
+ },
+ "osType": "linux",
+ "placementGroupId": "f67c14ab-e92c-408c-ae2d-da15866ec79a",
+ "plan": {
+ "name": "planName",
+ "product": "planProduct",
+ "publisher": "planPublisher"
+ },
+ "platformFaultDomain": "36",
+ "platformUpdateDomain": "42",
+ "provider": "Microsoft.Compute",
+ "publicKeys": [
+ {
+ "keyData": "ssh-rsa 0",
+ "path": "/home/user/.ssh/authorized_keys0"
+ },
+ {
+ "keyData": "ssh-rsa 1",
+ "path": "/home/user/.ssh/authorized_keys1"
+ }
+ ],
+ "publisher": "RDFE-Test-Microsoft-Windows-Server-Group",
+ "resourceGroupName": "macikgo-test-may-23",
+ "resourceId": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/virtualMachines/examplevmname",
+ "securityProfile": {
+ "secureBootEnabled": "true",
+ "virtualTpmEnabled": "false"
+ },
+ "sku": "Windows-Server-2012-R2-Datacenter",
+ "storageProfile": {
+ "dataDisks": [
+ {
+ "caching": "None",
+ "createOption": "Empty",
+ "diskSizeGB": "1024",
+ "image": {
+ "uri": ""
+ },
+ "lun": "0",
+ "managedDisk": {
+ "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampledatadiskname",
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "exampledatadiskname",
+ "vhd": {
+ "uri": ""
+ },
+ "writeAcceleratorEnabled": "false"
+ }
+ ],
+ "imageReference": {
+ "id": "",
+ "offer": "UbuntuServer",
+ "publisher": "Canonical",
+ "sku": "16.04.0-LTS",
+ "version": "latest"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "diskSizeGB": "30",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "encryptionSettings": {
+ "enabled": "false"
+ },
+ "image": {
+ "uri": ""
+ },
+ "managedDisk": {
+ "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampleosdiskname",
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "exampleosdiskname",
+ "osType": "Linux",
+ "vhd": {
+ "uri": ""
+ },
+ "writeAcceleratorEnabled": "false"
+ }
+ },
+ "subscriptionId": "8d10da13-8125-4ba9-a717-bf7490507b3d",
+ "tags": "baz:bash;foo:bar",
+ "tagsList": [
+ {
+ "name": "baz",
+ "value": "bash"
+ },
+ {
+ "name": "foo",
+ "value": "bar"
+ }
+ ],
+ "version": "15.05.22",
+ "vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6",
+ "vmScaleSetName": "crpteste9vflji9",
+ "vmSize": "Standard_A3",
+ "zone": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/imds.json
new file mode 100644
index 000000000000..dffd55554879
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-07-15/imds.json
@@ -0,0 +1,902 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "InstanceMetadataClient",
+ "description": "The Azure Instance Metadata Client",
+ "version": "2020-07-15"
+ },
+ "host": "169.254.169.254",
+ "basePath": "/metadata",
+ "schemes": [
+ "http",
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "basic_auth": {
+ "type": "basic",
+ "description": "A Basic authentication flow"
+ }
+ },
+ "paths": {
+ "/instance": {
+ "get": {
+ "operationId": "Instances_GetMetadata",
+ "description": "Get Instance Metadata for the Virtual Machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Instance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Instance Metadata for the VM": {
+ "$ref": "./examples/GetInstanceMetadata.json"
+ }
+ }
+ }
+ },
+ "/attested/document": {
+ "get": {
+ "operationId": "Attested_GetDocument",
+ "description": "Get Attested Data for the Virtual Machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "This is a string of up to 32 random alphanumeric characters."
+ },
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AttestedData"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Attested Data for the VM": {
+ "$ref": "./examples/GetAttestedData.json"
+ }
+ }
+ }
+ },
+ "/identity/oauth2/token": {
+ "get": {
+ "tags": [
+ "Get token"
+ ],
+ "description": "Get a Token from Azure AD",
+ "operationId": "Identity_GetToken",
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {},
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ },
+ {
+ "name": "resource",
+ "in": "query",
+ "type": "string",
+ "description": "This is the urlencoded identifier URI of the sink resource for the requested Azure AD token. The resulting token contains the corresponding aud for this resource.",
+ "required": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by Azure AD client id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with object_id and msi_res_id.",
+ "required": false
+ },
+ {
+ "name": "object_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by Azure AD object id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and msi_res_id.",
+ "required": false
+ },
+ {
+ "name": "msi_res_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by urlencoded ARM resource id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and object_id.",
+ "required": false
+ },
+ {
+ "name": "authority",
+ "in": "query",
+ "type": "string",
+ "description": "This indicates the authority to request AAD tokens from. Defaults to the known authority of the identity to be used.",
+ "required": false
+ },
+ {
+ "name": "bypass_cache",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "description": "If provided, the value must be 'true'. This indicates to the server that the token must be retrieved from Azure AD and cannot be retrieved from an internal cache.",
+ "required": false,
+ "x-ms-enum": {
+ "name": "BypassCache",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "schema": {
+ "$ref": "#/definitions/IdentityTokenResponse"
+ }
+ },
+ "default": {
+ "headers": {
+ "Www-Authenticate": {
+ "type": "string",
+ "description": "This is the response header containing a challenge for the Basic scheme with a realm value"
+ }
+ },
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Identity Token for the VM": {
+ "$ref": "./examples/GetIdentityToken.json"
+ }
+ }
+ }
+ },
+ "/identity/info": {
+ "get": {
+ "tags": [
+ "Get metadata information"
+ ],
+ "description": "Get information about AAD Metadata",
+ "operationId": "Identity_GetInfo",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "schema": {
+ "$ref": "#/definitions/IdentityInfoResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Identity Info for the VM": {
+ "$ref": "./examples/GetIdentityInfo.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Compute": {
+ "type": "object",
+ "properties": {
+ "azEnvironment": {
+ "type": "string",
+ "description": "This is the name of the environment in which the VM is running."
+ },
+ "isHostCompatibilityLayerVm": {
+ "type": "string",
+ "description": "Identifies if the VM runs on the Host Compatibility Layer."
+ },
+ "location": {
+ "type": "string",
+ "description": "This is the Azure Region in which the VM is running."
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the name of the VM."
+ },
+ "offer": {
+ "type": "string",
+ "description": "This is the offer information for the VM image. This value is only present for images deployed from the Azure Image Gallery."
+ },
+ "osProfile": {
+ "type": "object",
+ "description": "This contains the data about the OS.",
+ "$ref": "#/definitions/OsProfile"
+ },
+ "osType": {
+ "type": "string",
+ "description": "This value indicates the type of OS the VM is running, either Linux or Windows."
+ },
+ "placementGroupId": {
+ "type": "string",
+ "description": "This is the placement group of your Virtual Machine Scale Set."
+ },
+ "plan": {
+ "type": "object",
+ "description": "This contains the data about the plan.",
+ "$ref": "#/definitions/PlanProperties"
+ },
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicKeysProperties"
+ },
+ "description": "This is information about the SSH certificate"
+ },
+ "platformFaultDomain": {
+ "type": "string",
+ "description": "This is the fault domain in which the VM."
+ },
+ "platformUpdateDomain": {
+ "type": "string",
+ "description": "This is the update domain in which the VM."
+ },
+ "provider": {
+ "type": "string",
+ "description": "This is the provider of the VM."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the publisher of the VM image."
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "This is the resource group for the VM."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "This is the fully qualified ID for the VM."
+ },
+ "securityProfile": {
+ "description": "This contains the data about the security profile associated with the VM.",
+ "$ref": "#/definitions/SecurityProfile"
+ },
+ "sku": {
+ "type": "string",
+ "description": "This is the specific SKU for the VM image."
+ },
+ "storageProfile": {
+ "type": "object",
+ "description": "This contains the data about the storage disks associated with the VM.",
+ "$ref": "#/definitions/StorageProfile"
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "This is the Azure subscription for the VM."
+ },
+ "tags": {
+ "type": "string",
+ "description": "This is the list of tags for your VM."
+ },
+ "tagsList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagsProperties"
+ },
+ "description": "This is the list of tags for your VM formatted as a JSON array for easier programmatic parsing."
+ },
+ "version": {
+ "type": "string",
+ "description": "This is the version of the VM image."
+ },
+ "vmId": {
+ "type": "string",
+ "description": "This is the unique identifier for the VM."
+ },
+ "vmScaleSetName": {
+ "type": "string",
+ "description": "This is the resource name of the VMSS."
+ },
+ "vmSize": {
+ "type": "string",
+ "description": "This is the size of the VM."
+ },
+ "zone": {
+ "type": "string",
+ "description": "This is the availability zone of the VM."
+ }
+ },
+ "description": "Compute Metadata"
+ },
+ "Network": {
+ "type": "object",
+ "properties": {
+ "interface": {
+ "type": "array",
+ "description": "This contains data about the network interface.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "description": "Network Metadata"
+ },
+ "NetworkInterface": {
+ "type": "object",
+ "description": "This contains data about the network interface.",
+ "properties": {
+ "ipv4": {
+ "type": "object",
+ "description": "This contains the IPv4 address.",
+ "properties": {
+ "ipAddress": {
+ "type": "array",
+ "description": "This is the IP address",
+ "items": {
+ "type": "object",
+ "description": "This contains the IPv4 properties.",
+ "$ref": "#/definitions/Ipv4Properties"
+ }
+ },
+ "subnet": {
+ "type": "array",
+ "description": "This is the subnet",
+ "items": {
+ "type": "object",
+ "description": "This contains the subnet properties.",
+ "$ref": "#/definitions/SubnetProperties"
+ }
+ }
+ }
+ },
+ "ipv6": {
+ "type": "object",
+ "description": "This contains the IPv6 address.",
+ "properties": {
+ "ipAddress": {
+ "type": "array",
+ "description": "This is the IP address",
+ "items": {
+ "type": "object",
+ "description": "This contains the IPv6 properties.",
+ "$ref": "#/definitions/Ipv6Properties"
+ }
+ }
+ }
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "This is the MAC address of the interface."
+ }
+ }
+ },
+ "OsProfile": {
+ "type": "object",
+ "description": "This contains the data about the OS.",
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "This is admin account."
+ },
+ "computerName": {
+ "type": "string",
+ "description": "This is the name of the VM."
+ }
+ }
+ },
+ "PlanProperties": {
+ "type": "object",
+ "description": "This contains the data about the plan.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the Plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "This is the product of the image from the Marketplace."
+ }
+ }
+ },
+ "PublicKeysProperties": {
+ "type": "object",
+ "description": "This contains the data about the public key.",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "This specifies the full path on the VM where the SSH public key is stored."
+ },
+ "keyData": {
+ "type": "string",
+ "description": "This is the SSH public key certificate used to authenticate with the VM."
+ }
+ }
+ },
+ "TagsProperties": {
+ "type": "object",
+ "description": "This contains the properties of the tags in a tagsList.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the name of the tag. It is equivalent to the key in the key-value pair format."
+ },
+ "value": {
+ "type": "string",
+ "description": "This is the value of the tag. It is, as expected, equivalent to the value in the key-value pair format."
+ }
+ }
+ },
+ "Ipv4Properties": {
+ "type": "object",
+ "description": "This contains the IPv4 properties.",
+ "properties": {
+ "privateIpAddress": {
+ "type": "string",
+ "description": "This is the private IP address assigned to the interface."
+ },
+ "publicIpAddress": {
+ "type": "string",
+ "description": "This is the public IP address assigned to the interface."
+ }
+ }
+ },
+ "Ipv6Properties": {
+ "type": "object",
+ "description": "This contains the IPv6 properties.",
+ "properties": {
+ "privateIpAddress": {
+ "type": "string",
+ "description": "This is the private IPv6 address assigned to the interface."
+ }
+ }
+ },
+ "SubnetProperties": {
+ "type": "object",
+ "description": "This contains the properties of the subnet.",
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "This is the address range of the subnet."
+ },
+ "prefix": {
+ "type": "string",
+ "description": "This is the prefix of the subnet."
+ }
+ }
+ },
+ "SecurityProfile": {
+ "type": "object",
+ "description": "This contains the data about the security profile associated with the VM.",
+ "properties": {
+ "secureBootEnabled": {
+ "type": "string",
+ "description": "Identifies if UEFI secure boot is enabled on the VM"
+ },
+ "virtualTpmEnabled": {
+ "type": "string",
+ "description": "Identifies if the virtual Trusted Platform Module (TPM) is enabled on the VM"
+ }
+ }
+ },
+ "StorageProfile": {
+ "type": "object",
+ "description": "This contains the data about the storage disks associated with the VM.",
+ "properties": {
+ "imageReference": {
+ "type": "object",
+ "$ref": "#/definitions/ImageReference",
+ "description": "Image information"
+ },
+ "osDisk": {
+ "type": "object",
+ "$ref": "#/definitions/OsDisk",
+ "description": "OS disk information"
+ },
+ "dataDisks": {
+ "type": "array",
+ "description": "Data disk information",
+ "items": {
+ "type": "object",
+ "description": "This contains information about the data disk.",
+ "$ref": "#/definitions/DataDisk"
+ }
+ }
+ }
+ },
+ "ImageReference": {
+ "type": "object",
+ "description": "This contains information about the OS image.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "This is the resource ID."
+ },
+ "offer": {
+ "type": "string",
+ "description": "This is the offer of the platform or marketplace image."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the image publisher."
+ },
+ "sku": {
+ "type": "string",
+ "description": "This is the image SKU."
+ },
+ "version": {
+ "type": "string",
+ "description": "This is the version of the platform or marketplace image."
+ }
+ }
+ },
+ "OsDisk": {
+ "type": "object",
+ "description": "This contains information about the OS disk used by the VM.",
+ "properties": {
+ "caching": {
+ "type": "string",
+ "description": "This is the caching requirements."
+ },
+ "createOption": {
+ "type": "string",
+ "description": "This is information about how the VM was created."
+ },
+ "diffDiskSettings": {
+ "type": "object",
+ "description": "This is the ephemeral disk settings.",
+ "$ref": "#/definitions/DiffDiskSettings"
+ },
+ "diskSizeGB": {
+ "type": "string",
+ "description": "This is the size of the disk in GB."
+ },
+ "encryptionSettings": {
+ "type": "object",
+ "description": "This is the encryption settings for the disk.",
+ "$ref": "#/definitions/EncryptionSettings"
+ },
+ "image": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "$ref": "#/definitions/DiskImage"
+ },
+ "managedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "$ref": "#/definitions/ManagedDisk"
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the disk name."
+ },
+ "osType": {
+ "type": "string",
+ "description": "This is the type of OS included in the disk."
+ },
+ "vhd": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "$ref": "#/definitions/VirtualHardDisk"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "string",
+ "description": "This specifies whether or not writeAccelerator is enabled on the disk."
+ }
+ }
+ },
+ "DataDisk": {
+ "type": "object",
+ "description": "This contains information about the data disk.",
+ "properties": {
+ "caching": {
+ "type": "string",
+ "description": "This is the caching requirements."
+ },
+ "createOption": {
+ "type": "string",
+ "description": "This is information about how the VM was created."
+ },
+ "diskSizeGB": {
+ "type": "string",
+ "description": "This is the size of the disk in GB."
+ },
+ "image": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "$ref": "#/definitions/DiskImage"
+ },
+ "lun": {
+ "type": "string",
+ "description": "This is the logical unit number of the disk."
+ },
+ "managedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "$ref": "#/definitions/ManagedDisk"
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the disk name."
+ },
+ "vhd": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "$ref": "#/definitions/VirtualHardDisk"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "string",
+ "description": "This specifies whether or not writeAccelerator is enabled on the disk."
+ }
+ }
+ },
+ "EncryptionSettings": {
+ "type": "object",
+ "description": "This is the encryption settings for the disk.",
+ "properties": {
+ "enabled": {
+ "type": "string",
+ "description": "This specifies whether or not disk encryption is enabled on the VM."
+ }
+ }
+ },
+ "DiffDiskSettings": {
+ "type": "object",
+ "description": "This is the ephemeral disk settings.",
+ "properties": {
+ "option": {
+ "type": "string",
+ "description": "This specifies the ephemeral disk settings."
+ }
+ }
+ },
+ "DiskImage": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "This is the uri of the virtual hard disk."
+ }
+ }
+ },
+ "ManagedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "This is the resource ID."
+ },
+ "storageAccountType": {
+ "type": "string",
+ "description": "This is the storage account type for the managed disk."
+ }
+ }
+ },
+ "VirtualHardDisk": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "This is the uri of the virtual hard disk."
+ }
+ }
+ },
+ "ApplicationResponse": {
+ "type": "string",
+ "description": "This is a binary string containing the application."
+ },
+ "Instance": {
+ "type": "object",
+ "description": "This is the response from the Instance_GetMetadata operation.",
+ "properties": {
+ "compute": {
+ "$ref": "#/definitions/Compute",
+ "description": "Compute Metadata"
+ },
+ "network": {
+ "$ref": "#/definitions/Network",
+ "description": "Network Metadata"
+ }
+ }
+ },
+ "AttestedData": {
+ "type": "object",
+ "description": "This is the response from the Attested_GetDocument operation.",
+ "properties": {
+ "signature": {
+ "type": "string",
+ "description": "This is the encoded string containing the VM ID, SKU, plan information, public key, timestamp, and nonce value."
+ },
+ "encoding": {
+ "type": "string",
+ "description": "This is the encoding scheme of the signature."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "This is the response from an operation in the case an error occurs.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "IdentityErrorResponse": {
+ "type": "object",
+ "description": "This is the response from an Identity operation in the case an error occurs.",
+ "properties": {
+ "error": {
+ "type": "string",
+ "description": "Error code",
+ "enum": [
+ "invalid_request",
+ "unauthorized_client",
+ "access_denied",
+ "unsupported_response_type",
+ "invalid_scope",
+ "server_error",
+ "service_unavailable",
+ "bad_request",
+ "forbidden",
+ "not_found",
+ "method_not_allowed",
+ "too_many_requests"
+ ],
+ "x-ms-enum": {
+ "name": "Error",
+ "modelAsString": true
+ }
+ },
+ "error_description": {
+ "type": "string",
+ "description": "Error message indicating why the operation failed."
+ }
+ }
+ },
+ "IdentityTokenResponse": {
+ "type": "object",
+ "description": "This is the response from the Identity_GetToken operation.",
+ "properties": {
+ "access_token": {
+ "type": "string",
+ "description": "This is the requested access token. The app can use this token to authenticate to the sink resource."
+ },
+ "expires_in": {
+ "type": "string",
+ "description": "This is how long the access token is valid (in seconds)."
+ },
+ "expires_on": {
+ "type": "string",
+ "description": "This is the time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. This value is used to determine the lifetime of cached tokens."
+ },
+ "ext_expires_in": {
+ "type": "string",
+ "description": "This indicates the extended lifetime of the token (in seconds)."
+ },
+ "not_before": {
+ "type": "string",
+ "description": "This is the time when the access token becomes effective. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time."
+ },
+ "resource": {
+ "type": "string",
+ "description": "This is the app ID URI of the sink resource."
+ },
+ "token_type": {
+ "type": "string",
+ "description": "This indicates the token type value."
+ },
+ "client_id": {
+ "type": "string",
+ "description": "This is the client_id specified in the request, if any."
+ },
+ "object_id": {
+ "type": "string",
+ "description": "This is the object_id specified in the request, if any."
+ },
+ "msi_res_id": {
+ "type": "string",
+ "description": "This is the msi_res_id specified in the request, if any."
+ }
+ }
+ },
+ "IdentityInfoResponse": {
+ "type": "object",
+ "description": "This is the response from the Identity_GetInfo operation.",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "This is the AAD tenantId of the identity of the system assigned managed identity."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "2018-10-01"
+ ],
+ "description": "This is the API version to use.",
+ "required": true,
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ }
+ },
+ "MetadataParameter": {
+ "name": "Metadata",
+ "in": "header",
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "description": "This must be set to 'true'.",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetAttestedData.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetAttestedData.json
new file mode 100644
index 000000000000..162ebec2ab46
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetAttestedData.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "nonce": "abcde12345",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "encoding": "pkcs7",
+ "signature": "MIID2gYJKoZIhvcNAQcCoIIDyzCCA8cCAQExDzANBgkqhkiG9w0BAQsFADCBggYJKoZIhvcNAQcBoHUEc3sibm9uY2UiOiIxMTExMTExMTExIiwicGxhbiI6eyJuYW1lIjoiIiwicHJvZHVjdCI6IiIsInB1Ymxpc2hlciI6IiJ9LCJ2bUlkIjoiMDJhYWI4YTQtNzRlZi00NzZlLTgxODItZjZkMmJhNDE2NmE2In2gggI/MIICOzCCAaSgAwIBAgIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQQFADArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbTAeFw0xODExMDgxODUzMDRaFw0xODEyMDgxODUzMDNaMCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEi0FVslYnUX+MneC7ERMU4ZM88z4J80r7RPgvzxCPNhXUQlWm3cmVRZMD8kKMv7brkvEsATP7Ak60/I/XEtOga4LGCvMaQa8I/MW8IhSyp2Vj015glAiV8TeUI5DuOIOS96lQvM+G7bt23swkIwVjm1u1ViTZiKKytwpY/EGqzQIDAQABo2AwXjBcBgNVHQEEVTBTgBAt3MRgJmEoUMiPy7k06cLfoS0wKzEpMCcGA1UEAxMgdGVzdHN1YmRvbWFpbi5tZXRhZGF0YS5henVyZS5jb22CEEFrBY1zd+aASShVyN0KzN0wDQYJKoZIhvcNAQEEBQADgYEAd87qiZnRlGIFQ5IEcL/A7ru23WSQAOBsNPt70Fg1GtaEHcYshKUJFhGwXOgZ11cY5wRfrSvEKuzvhAeIZwkvzkBjC04g8sRrjN5leLY5CsKzQhjN52TUMsHhqTM58tfAnICeTddQwn6LOgfqtYH5WO+F/VbFCwPstYUqjmQEYAoxgegwgeUCAQEwPzArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbQIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQsFADANBgkqhkiG9w0BAQEFAASBgCbkRKmQ1MdWZPVOrX7ZBKHQUWPFrQQNdjk3KB67GkY0W0Taxut4K7D2PmiflVEwxB92pTbaZZr/dldu1k1ab1YamHcVYdgZgxIkoOWohGR0ym8oL9JHjFMEqHUbEPtDwE8X+djtDd8TVdb6LYe77IXmz/VaX4whuejlSvQXjaL"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetIdentityInfo.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetIdentityInfo.json
new file mode 100644
index 000000000000..a175137653c1
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetIdentityInfo.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tenantId": "abd8daee-d393-4239-9377-883adda3d40f"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetIdentityToken.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetIdentityToken.json
new file mode 100644
index 000000000000..02acc5761386
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetIdentityToken.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "Metadata": "true",
+ "resource": "https://vault.azure.net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "access_token": "dummytoken",
+ "client_id": "be5947ed-3560-4afe-9504-59967a63f810",
+ "expires_in": "3599",
+ "expires_on": "1541705014",
+ "ext_expires_in": "262800",
+ "not_before": "1508961830",
+ "resource": "https://va"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetInstanceMetadata.json
new file mode 100644
index 000000000000..9f6927ef353e
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/examples/GetInstanceMetadata.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "compute": {
+ "azEnvironment": "AZUREPUBLICCLOUD",
+ "isHostCompatibilityLayerVm": "true",
+ "licenseType": "Windows_Server",
+ "location": "westus",
+ "name": "examplevmname",
+ "offer": "Windows",
+ "osProfile": {
+ "adminUsername": "admin",
+ "computerName": "examplevmname"
+ },
+ "osType": "linux",
+ "placementGroupId": "f67c14ab-e92c-408c-ae2d-da15866ec79a",
+ "plan": {
+ "name": "planName",
+ "product": "planProduct",
+ "publisher": "planPublisher"
+ },
+ "platformFaultDomain": "36",
+ "platformUpdateDomain": "42",
+ "provider": "Microsoft.Compute",
+ "publicKeys": [
+ {
+ "keyData": "ssh-rsa 0",
+ "path": "/home/user/.ssh/authorized_keys0"
+ },
+ {
+ "keyData": "ssh-rsa 1",
+ "path": "/home/user/.ssh/authorized_keys1"
+ }
+ ],
+ "publisher": "RDFE-Test-Microsoft-Windows-Server-Group",
+ "resourceGroupName": "macikgo-test-may-23",
+ "resourceId": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/virtualMachines/examplevmname",
+ "securityProfile": {
+ "secureBootEnabled": "true",
+ "virtualTpmEnabled": "false"
+ },
+ "sku": "Windows-Server-2012-R2-Datacenter",
+ "storageProfile": {
+ "dataDisks": [
+ {
+ "caching": "None",
+ "createOption": "Empty",
+ "diskSizeGB": "1024",
+ "image": {
+ "uri": ""
+ },
+ "lun": "0",
+ "managedDisk": {
+ "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampledatadiskname",
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "exampledatadiskname",
+ "vhd": {
+ "uri": ""
+ },
+ "writeAcceleratorEnabled": "false"
+ }
+ ],
+ "imageReference": {
+ "id": "",
+ "offer": "UbuntuServer",
+ "publisher": "Canonical",
+ "sku": "16.04.0-LTS",
+ "version": "latest"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "diskSizeGB": "30",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "encryptionSettings": {
+ "enabled": "false"
+ },
+ "image": {
+ "uri": ""
+ },
+ "managedDisk": {
+ "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampleosdiskname",
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "exampleosdiskname",
+ "osType": "Linux",
+ "vhd": {
+ "uri": ""
+ },
+ "writeAcceleratorEnabled": "false"
+ }
+ },
+ "subscriptionId": "8d10da13-8125-4ba9-a717-bf7490507b3d",
+ "tags": "baz:bash;foo:bar",
+ "tagsList": [
+ {
+ "name": "baz",
+ "value": "bash"
+ },
+ {
+ "name": "foo",
+ "value": "bar"
+ }
+ ],
+ "version": "15.05.22",
+ "vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6",
+ "vmScaleSetName": "crpteste9vflji9",
+ "vmSize": "Standard_A3",
+ "zone": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/imds.json
new file mode 100644
index 000000000000..bbb450688475
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-09-01/imds.json
@@ -0,0 +1,906 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "InstanceMetadataClient",
+ "description": "The Azure Instance Metadata Client",
+ "version": "2020-09-01"
+ },
+ "host": "169.254.169.254",
+ "basePath": "/metadata",
+ "schemes": [
+ "http",
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "basic_auth": {
+ "type": "basic",
+ "description": "A Basic authentication flow"
+ }
+ },
+ "paths": {
+ "/instance": {
+ "get": {
+ "operationId": "Instances_GetMetadata",
+ "description": "Get Instance Metadata for the Virtual Machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Instance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Instance Metadata for the VM": {
+ "$ref": "./examples/GetInstanceMetadata.json"
+ }
+ }
+ }
+ },
+ "/attested/document": {
+ "get": {
+ "operationId": "Attested_GetDocument",
+ "description": "Get Attested Data for the Virtual Machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "This is a string of up to 32 random alphanumeric characters."
+ },
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AttestedData"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Attested Data for the VM": {
+ "$ref": "./examples/GetAttestedData.json"
+ }
+ }
+ }
+ },
+ "/identity/oauth2/token": {
+ "get": {
+ "tags": [
+ "Get token"
+ ],
+ "description": "Get a Token from Azure AD",
+ "operationId": "Identity_GetToken",
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {},
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ },
+ {
+ "name": "resource",
+ "in": "query",
+ "type": "string",
+ "description": "This is the urlencoded identifier URI of the sink resource for the requested Azure AD token. The resulting token contains the corresponding aud for this resource.",
+ "required": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by Azure AD client id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with object_id and msi_res_id.",
+ "required": false
+ },
+ {
+ "name": "object_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by Azure AD object id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and msi_res_id.",
+ "required": false
+ },
+ {
+ "name": "msi_res_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by urlencoded ARM resource id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and object_id.",
+ "required": false
+ },
+ {
+ "name": "authority",
+ "in": "query",
+ "type": "string",
+ "description": "This indicates the authority to request AAD tokens from. Defaults to the known authority of the identity to be used.",
+ "required": false
+ },
+ {
+ "name": "bypass_cache",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "description": "If provided, the value must be 'true'. This indicates to the server that the token must be retrieved from Azure AD and cannot be retrieved from an internal cache.",
+ "required": false,
+ "x-ms-enum": {
+ "name": "BypassCache",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "schema": {
+ "$ref": "#/definitions/IdentityTokenResponse"
+ }
+ },
+ "default": {
+ "headers": {
+ "Www-Authenticate": {
+ "type": "string",
+ "description": "This is the response header containing a challenge for the Basic scheme with a realm value"
+ }
+ },
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Identity Token for the VM": {
+ "$ref": "./examples/GetIdentityToken.json"
+ }
+ }
+ }
+ },
+ "/identity/info": {
+ "get": {
+ "tags": [
+ "Get metadata information"
+ ],
+ "description": "Get information about AAD Metadata",
+ "operationId": "Identity_GetInfo",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "schema": {
+ "$ref": "#/definitions/IdentityInfoResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Identity Info for the VM": {
+ "$ref": "./examples/GetIdentityInfo.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Compute": {
+ "type": "object",
+ "properties": {
+ "azEnvironment": {
+ "type": "string",
+ "description": "This is the name of the environment in which the VM is running."
+ },
+ "isHostCompatibilityLayerVm": {
+ "type": "string",
+ "description": "Identifies if the VM runs on the Host Compatibility Layer."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Type of license for Azure Hybrid Benefit. Note that this is only present for AHB-enabled VMs."
+ },
+ "location": {
+ "type": "string",
+ "description": "This is the Azure Region in which the VM is running."
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the name of the VM."
+ },
+ "offer": {
+ "type": "string",
+ "description": "This is the offer information for the VM image. This value is only present for images deployed from the Azure Image Gallery."
+ },
+ "osProfile": {
+ "type": "object",
+ "description": "This contains the data about the OS.",
+ "$ref": "#/definitions/OsProfile"
+ },
+ "osType": {
+ "type": "string",
+ "description": "This value indicates the type of OS the VM is running, either Linux or Windows."
+ },
+ "placementGroupId": {
+ "type": "string",
+ "description": "This is the placement group of your Virtual Machine Scale Set."
+ },
+ "plan": {
+ "type": "object",
+ "description": "This contains the data about the plan.",
+ "$ref": "#/definitions/PlanProperties"
+ },
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicKeysProperties"
+ },
+ "description": "This is information about the SSH certificate"
+ },
+ "platformFaultDomain": {
+ "type": "string",
+ "description": "This is the fault domain in which the VM."
+ },
+ "platformUpdateDomain": {
+ "type": "string",
+ "description": "This is the update domain in which the VM."
+ },
+ "provider": {
+ "type": "string",
+ "description": "This is the provider of the VM."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the publisher of the VM image."
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "This is the resource group for the VM."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "This is the fully qualified ID for the VM."
+ },
+ "securityProfile": {
+ "description": "This contains the data about the security profile associated with the VM.",
+ "$ref": "#/definitions/SecurityProfile"
+ },
+ "sku": {
+ "type": "string",
+ "description": "This is the specific SKU for the VM image."
+ },
+ "storageProfile": {
+ "type": "object",
+ "description": "This contains the data about the storage disks associated with the VM.",
+ "$ref": "#/definitions/StorageProfile"
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "This is the Azure subscription for the VM."
+ },
+ "tags": {
+ "type": "string",
+ "description": "This is the list of tags for your VM."
+ },
+ "tagsList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagsProperties"
+ },
+ "description": "This is the list of tags for your VM formatted as a JSON array for easier programmatic parsing."
+ },
+ "version": {
+ "type": "string",
+ "description": "This is the version of the VM image."
+ },
+ "vmId": {
+ "type": "string",
+ "description": "This is the unique identifier for the VM."
+ },
+ "vmScaleSetName": {
+ "type": "string",
+ "description": "This is the resource name of the VMSS."
+ },
+ "vmSize": {
+ "type": "string",
+ "description": "This is the size of the VM."
+ },
+ "zone": {
+ "type": "string",
+ "description": "This is the availability zone of the VM."
+ }
+ },
+ "description": "Compute Metadata"
+ },
+ "Network": {
+ "type": "object",
+ "properties": {
+ "interface": {
+ "type": "array",
+ "description": "This contains data about the network interface.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "description": "Network Metadata"
+ },
+ "NetworkInterface": {
+ "type": "object",
+ "description": "This contains data about the network interface.",
+ "properties": {
+ "ipv4": {
+ "type": "object",
+ "description": "This contains the IPv4 address.",
+ "properties": {
+ "ipAddress": {
+ "type": "array",
+ "description": "This is the IP address",
+ "items": {
+ "type": "object",
+ "description": "This contains the IPv4 properties.",
+ "$ref": "#/definitions/Ipv4Properties"
+ }
+ },
+ "subnet": {
+ "type": "array",
+ "description": "This is the subnet",
+ "items": {
+ "type": "object",
+ "description": "This contains the subnet properties.",
+ "$ref": "#/definitions/SubnetProperties"
+ }
+ }
+ }
+ },
+ "ipv6": {
+ "type": "object",
+ "description": "This contains the IPv6 address.",
+ "properties": {
+ "ipAddress": {
+ "type": "array",
+ "description": "This is the IP address",
+ "items": {
+ "type": "object",
+ "description": "This contains the IPv6 properties.",
+ "$ref": "#/definitions/Ipv6Properties"
+ }
+ }
+ }
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "This is the MAC address of the interface."
+ }
+ }
+ },
+ "OsProfile": {
+ "type": "object",
+ "description": "This contains the data about the OS.",
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "This is admin account."
+ },
+ "computerName": {
+ "type": "string",
+ "description": "This is the name of the VM."
+ }
+ }
+ },
+ "PlanProperties": {
+ "type": "object",
+ "description": "This contains the data about the plan.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the Plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "This is the product of the image from the Marketplace."
+ }
+ }
+ },
+ "PublicKeysProperties": {
+ "type": "object",
+ "description": "This contains the data about the public key.",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "This specifies the full path on the VM where the SSH public key is stored."
+ },
+ "keyData": {
+ "type": "string",
+ "description": "This is the SSH public key certificate used to authenticate with the VM."
+ }
+ }
+ },
+ "TagsProperties": {
+ "type": "object",
+ "description": "This contains the properties of the tags in a tagsList.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the name of the tag. It is equivalent to the key in the key-value pair format."
+ },
+ "value": {
+ "type": "string",
+ "description": "This is the value of the tag. It is, as expected, equivalent to the value in the key-value pair format."
+ }
+ }
+ },
+ "Ipv4Properties": {
+ "type": "object",
+ "description": "This contains the IPv4 properties.",
+ "properties": {
+ "privateIpAddress": {
+ "type": "string",
+ "description": "This is the private IP address assigned to the interface."
+ },
+ "publicIpAddress": {
+ "type": "string",
+ "description": "This is the public IP address assigned to the interface."
+ }
+ }
+ },
+ "Ipv6Properties": {
+ "type": "object",
+ "description": "This contains the IPv6 properties.",
+ "properties": {
+ "privateIpAddress": {
+ "type": "string",
+ "description": "This is the private IPv6 address assigned to the interface."
+ }
+ }
+ },
+ "SubnetProperties": {
+ "type": "object",
+ "description": "This contains the properties of the subnet.",
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "This is the address range of the subnet."
+ },
+ "prefix": {
+ "type": "string",
+ "description": "This is the prefix of the subnet."
+ }
+ }
+ },
+ "SecurityProfile": {
+ "type": "object",
+ "description": "This contains the data about the security profile associated with the VM.",
+ "properties": {
+ "secureBootEnabled": {
+ "type": "string",
+ "description": "Identifies if UEFI secure boot is enabled on the VM"
+ },
+ "virtualTpmEnabled": {
+ "type": "string",
+ "description": "Identifies if the virtual Trusted Platform Module (TPM) is enabled on the VM"
+ }
+ }
+ },
+ "StorageProfile": {
+ "type": "object",
+ "description": "This contains the data about the storage disks associated with the VM.",
+ "properties": {
+ "imageReference": {
+ "type": "object",
+ "$ref": "#/definitions/ImageReference",
+ "description": "Image information"
+ },
+ "osDisk": {
+ "type": "object",
+ "$ref": "#/definitions/OsDisk",
+ "description": "OS disk information"
+ },
+ "dataDisks": {
+ "type": "array",
+ "description": "Data disk information",
+ "items": {
+ "type": "object",
+ "description": "This contains information about the data disk.",
+ "$ref": "#/definitions/DataDisk"
+ }
+ }
+ }
+ },
+ "ImageReference": {
+ "type": "object",
+ "description": "This contains information about the OS image.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "This is the resource ID."
+ },
+ "offer": {
+ "type": "string",
+ "description": "This is the offer of the platform or marketplace image."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the image publisher."
+ },
+ "sku": {
+ "type": "string",
+ "description": "This is the image SKU."
+ },
+ "version": {
+ "type": "string",
+ "description": "This is the version of the platform or marketplace image."
+ }
+ }
+ },
+ "OsDisk": {
+ "type": "object",
+ "description": "This contains information about the OS disk used by the VM.",
+ "properties": {
+ "caching": {
+ "type": "string",
+ "description": "This is the caching requirements."
+ },
+ "createOption": {
+ "type": "string",
+ "description": "This is information about how the VM was created."
+ },
+ "diffDiskSettings": {
+ "type": "object",
+ "description": "This is the ephemeral disk settings.",
+ "$ref": "#/definitions/DiffDiskSettings"
+ },
+ "diskSizeGB": {
+ "type": "string",
+ "description": "This is the size of the disk in GB."
+ },
+ "encryptionSettings": {
+ "type": "object",
+ "description": "This is the encryption settings for the disk.",
+ "$ref": "#/definitions/EncryptionSettings"
+ },
+ "image": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "$ref": "#/definitions/DiskImage"
+ },
+ "managedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "$ref": "#/definitions/ManagedDisk"
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the disk name."
+ },
+ "osType": {
+ "type": "string",
+ "description": "This is the type of OS included in the disk."
+ },
+ "vhd": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "$ref": "#/definitions/VirtualHardDisk"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "string",
+ "description": "This specifies whether or not writeAccelerator is enabled on the disk."
+ }
+ }
+ },
+ "DataDisk": {
+ "type": "object",
+ "description": "This contains information about the data disk.",
+ "properties": {
+ "caching": {
+ "type": "string",
+ "description": "This is the caching requirements."
+ },
+ "createOption": {
+ "type": "string",
+ "description": "This is information about how the VM was created."
+ },
+ "diskSizeGB": {
+ "type": "string",
+ "description": "This is the size of the disk in GB."
+ },
+ "image": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "$ref": "#/definitions/DiskImage"
+ },
+ "lun": {
+ "type": "string",
+ "description": "This is the logical unit number of the disk."
+ },
+ "managedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "$ref": "#/definitions/ManagedDisk"
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the disk name."
+ },
+ "vhd": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "$ref": "#/definitions/VirtualHardDisk"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "string",
+ "description": "This specifies whether or not writeAccelerator is enabled on the disk."
+ }
+ }
+ },
+ "EncryptionSettings": {
+ "type": "object",
+ "description": "This is the encryption settings for the disk.",
+ "properties": {
+ "enabled": {
+ "type": "string",
+ "description": "This specifies whether or not disk encryption is enabled on the VM."
+ }
+ }
+ },
+ "DiffDiskSettings": {
+ "type": "object",
+ "description": "This is the ephemeral disk settings.",
+ "properties": {
+ "option": {
+ "type": "string",
+ "description": "This specifies the ephemeral disk settings."
+ }
+ }
+ },
+ "DiskImage": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "This is the uri of the virtual hard disk."
+ }
+ }
+ },
+ "ManagedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "This is the resource ID."
+ },
+ "storageAccountType": {
+ "type": "string",
+ "description": "This is the storage account type for the managed disk."
+ }
+ }
+ },
+ "VirtualHardDisk": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "This is the uri of the virtual hard disk."
+ }
+ }
+ },
+ "ApplicationResponse": {
+ "type": "string",
+ "description": "This is a binary string containing the application."
+ },
+ "Instance": {
+ "type": "object",
+ "description": "This is the response from the Instance_GetMetadata operation.",
+ "properties": {
+ "compute": {
+ "$ref": "#/definitions/Compute",
+ "description": "Compute Metadata"
+ },
+ "network": {
+ "$ref": "#/definitions/Network",
+ "description": "Network Metadata"
+ }
+ }
+ },
+ "AttestedData": {
+ "type": "object",
+ "description": "This is the response from the Attested_GetDocument operation.",
+ "properties": {
+ "signature": {
+ "type": "string",
+ "description": "This is the encoded string containing the VM ID, SKU, plan information, public key, timestamp, and nonce value."
+ },
+ "encoding": {
+ "type": "string",
+ "description": "This is the encoding scheme of the signature."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "This is the response from an operation in the case an error occurs.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "IdentityErrorResponse": {
+ "type": "object",
+ "description": "This is the response from an Identity operation in the case an error occurs.",
+ "properties": {
+ "error": {
+ "type": "string",
+ "description": "Error code",
+ "enum": [
+ "invalid_request",
+ "unauthorized_client",
+ "access_denied",
+ "unsupported_response_type",
+ "invalid_scope",
+ "server_error",
+ "service_unavailable",
+ "bad_request",
+ "forbidden",
+ "not_found",
+ "method_not_allowed",
+ "too_many_requests"
+ ],
+ "x-ms-enum": {
+ "name": "Error",
+ "modelAsString": true
+ }
+ },
+ "error_description": {
+ "type": "string",
+ "description": "Error message indicating why the operation failed."
+ }
+ }
+ },
+ "IdentityTokenResponse": {
+ "type": "object",
+ "description": "This is the response from the Identity_GetToken operation.",
+ "properties": {
+ "access_token": {
+ "type": "string",
+ "description": "This is the requested access token. The app can use this token to authenticate to the sink resource."
+ },
+ "expires_in": {
+ "type": "string",
+ "description": "This is how long the access token is valid (in seconds)."
+ },
+ "expires_on": {
+ "type": "string",
+ "description": "This is the time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. This value is used to determine the lifetime of cached tokens."
+ },
+ "ext_expires_in": {
+ "type": "string",
+ "description": "This indicates the extended lifetime of the token (in seconds)."
+ },
+ "not_before": {
+ "type": "string",
+ "description": "This is the time when the access token becomes effective. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time."
+ },
+ "resource": {
+ "type": "string",
+ "description": "This is the app ID URI of the sink resource."
+ },
+ "token_type": {
+ "type": "string",
+ "description": "This indicates the token type value."
+ },
+ "client_id": {
+ "type": "string",
+ "description": "This is the client_id specified in the request, if any."
+ },
+ "object_id": {
+ "type": "string",
+ "description": "This is the object_id specified in the request, if any."
+ },
+ "msi_res_id": {
+ "type": "string",
+ "description": "This is the msi_res_id specified in the request, if any."
+ }
+ }
+ },
+ "IdentityInfoResponse": {
+ "type": "object",
+ "description": "This is the response from the Identity_GetInfo operation.",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "This is the AAD tenantId of the identity of the system assigned managed identity."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "2018-10-01"
+ ],
+ "description": "This is the API version to use.",
+ "required": true,
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ }
+ },
+ "MetadataParameter": {
+ "name": "Metadata",
+ "in": "header",
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "description": "This must be set to 'true'.",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetAttestedData.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetAttestedData.json
new file mode 100644
index 000000000000..ab1823dfbaee
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetAttestedData.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "nonce": "abcde12345",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "encoding": "pkcs7",
+ "signature": "MIID2gYJKoZIhvcNAQcCoIIDyzCCA8cCAQExDzANBgkqhkiG9w0BAQsFADCBggYJKoZIhvcNAQcBoHUEc3sibm9uY2UiOiIxMTExMTExMTExIiwicGxhbiI6eyJuYW1lIjoiIiwicHJvZHVjdCI6IiIsInB1Ymxpc2hlciI6IiJ9LCJ2bUlkIjoiMDJhYWI4YTQtNzRlZi00NzZlLTgxODItZjZkMmJhNDE2NmE2In2gggI/MIICOzCCAaSgAwIBAgIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQQFADArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbTAeFw0xODExMDgxODUzMDRaFw0xODEyMDgxODUzMDNaMCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEi0FVslYnUX+MneC7ERMU4ZM88z4J80r7RPgvzxCPNhXUQlWm3cmVRZMD8kKMv7brkvEsATP7Ak60/I/XEtOga4LGCvMaQa8I/MW8IhSyp2Vj015glAiV8TeUI5DuOIOS96lQvM+G7bt23swkIwVjm1u1ViTZiKKytwpY/EGqzQIDAQABo2AwXjBcBgNVHQEEVTBTgBAt3MRgJmEoUMiPy7k06cLfoS0wKzEpMCcGA1UEAxMgdGVzdHN1YmRvbWFpbi5tZXRhZGF0YS5henVyZS5jb22CEEFrBY1zd+aASShVyN0KzN0wDQYJKoZIhvcNAQEEBQADgYEAd87qiZnRlGIFQ5IEcL/A7ru23WSQAOBsNPt70Fg1GtaEHcYshKUJFhGwXOgZ11cY5wRfrSvEKuzvhAeIZwkvzkBjC04g8sRrjN5leLY5CsKzQhjN52TUMsHhqTM58tfAnICeTddQwn6LOgfqtYH5WO+F/VbFCwPstYUqjmQEYAoxgegwgeUCAQEwPzArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbQIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQsFADANBgkqhkiG9w0BAQEFAASBgCbkRKmQ1MdWZPVOrX7ZBKHQUWPFrQQNdjk3KB67GkY0W0Taxut4K7D2PmiflVEwxB92pTbaZZr/dldu1k1ab1YamHcVYdgZgxIkoOWohGR0ym8oL9JHjFMEqHUbEPtDwE8X+djtDd8TVdb6LYe77IXmz/VaX4whuejlSvQXjaL"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetIdentityInfo.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetIdentityInfo.json
new file mode 100644
index 000000000000..1325c4270dbc
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetIdentityInfo.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tenantId": "abd8daee-d393-4239-9377-883adda3d40f"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetIdentityToken.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetIdentityToken.json
new file mode 100644
index 000000000000..c4e90bd1c2be
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetIdentityToken.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "Metadata": "true",
+ "resource": "https://vault.azure.net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "access_token": "dummytoken",
+ "client_id": "be5947ed-3560-4afe-9504-59967a63f810",
+ "expires_in": "3599",
+ "expires_on": "1541705014",
+ "ext_expires_in": "262800",
+ "not_before": "1508961830",
+ "resource": "https://va"
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetInstanceMetadata.json
new file mode 100644
index 000000000000..beefd430c204
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/examples/GetInstanceMetadata.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "compute": {
+ "azEnvironment": "AZUREPUBLICCLOUD",
+ "isHostCompatibilityLayerVm": "true",
+ "licenseType": "Windows_Server",
+ "location": "westus",
+ "name": "examplevmname",
+ "offer": "Windows",
+ "osProfile": {
+ "adminUsername": "admin",
+ "computerName": "examplevmname",
+ "disablePasswordAuthentication": "true"
+ },
+ "osType": "linux",
+ "placementGroupId": "f67c14ab-e92c-408c-ae2d-da15866ec79a",
+ "plan": {
+ "name": "planName",
+ "product": "planProduct",
+ "publisher": "planPublisher"
+ },
+ "platformFaultDomain": "36",
+ "platformUpdateDomain": "42",
+ "provider": "Microsoft.Compute",
+ "publicKeys": [
+ {
+ "keyData": "ssh-rsa 0",
+ "path": "/home/user/.ssh/authorized_keys0"
+ },
+ {
+ "keyData": "ssh-rsa 1",
+ "path": "/home/user/.ssh/authorized_keys1"
+ }
+ ],
+ "publisher": "RDFE-Test-Microsoft-Windows-Server-Group",
+ "resourceGroupName": "macikgo-test-may-23",
+ "resourceId": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/virtualMachines/examplevmname",
+ "securityProfile": {
+ "secureBootEnabled": "true",
+ "virtualTpmEnabled": "false"
+ },
+ "sku": "Windows-Server-2012-R2-Datacenter",
+ "storageProfile": {
+ "dataDisks": [
+ {
+ "caching": "None",
+ "createOption": "Empty",
+ "diskSizeGB": "1024",
+ "image": {
+ "uri": ""
+ },
+ "lun": "0",
+ "managedDisk": {
+ "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampledatadiskname",
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "exampledatadiskname",
+ "vhd": {
+ "uri": ""
+ },
+ "writeAcceleratorEnabled": "false"
+ }
+ ],
+ "imageReference": {
+ "id": "",
+ "offer": "UbuntuServer",
+ "publisher": "Canonical",
+ "sku": "16.04.0-LTS",
+ "version": "latest"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "diskSizeGB": "30",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "encryptionSettings": {
+ "enabled": "false"
+ },
+ "image": {
+ "uri": ""
+ },
+ "managedDisk": {
+ "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampleosdiskname",
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "exampleosdiskname",
+ "osType": "Linux",
+ "vhd": {
+ "uri": ""
+ },
+ "writeAcceleratorEnabled": "false"
+ }
+ },
+ "subscriptionId": "8d10da13-8125-4ba9-a717-bf7490507b3d",
+ "tags": "baz:bash;foo:bar",
+ "tagsList": [
+ {
+ "name": "baz",
+ "value": "bash"
+ },
+ {
+ "name": "foo",
+ "value": "bar"
+ }
+ ],
+ "version": "15.05.22",
+ "vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6",
+ "vmScaleSetName": "crpteste9vflji9",
+ "vmSize": "Standard_A3",
+ "zone": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/imds.json
new file mode 100644
index 000000000000..94d4fc63e9dd
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2020-10-01/imds.json
@@ -0,0 +1,910 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "InstanceMetadataClient",
+ "description": "The Azure Instance Metadata Client",
+ "version": "2020-10-01"
+ },
+ "host": "169.254.169.254",
+ "basePath": "/metadata",
+ "schemes": [
+ "http",
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "basic_auth": {
+ "type": "basic",
+ "description": "A Basic authentication flow"
+ }
+ },
+ "paths": {
+ "/instance": {
+ "get": {
+ "operationId": "Instances_GetMetadata",
+ "description": "Get Instance Metadata for the Virtual Machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Instance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Instance Metadata for the VM": {
+ "$ref": "./examples/GetInstanceMetadata.json"
+ }
+ }
+ }
+ },
+ "/attested/document": {
+ "get": {
+ "operationId": "Attested_GetDocument",
+ "description": "Get Attested Data for the Virtual Machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "This is a string of up to 32 random alphanumeric characters."
+ },
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AttestedData"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Attested Data for the VM": {
+ "$ref": "./examples/GetAttestedData.json"
+ }
+ }
+ }
+ },
+ "/identity/oauth2/token": {
+ "get": {
+ "tags": [
+ "Get token"
+ ],
+ "description": "Get a Token from Azure AD",
+ "operationId": "Identity_GetToken",
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {},
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ },
+ {
+ "name": "resource",
+ "in": "query",
+ "type": "string",
+ "description": "This is the urlencoded identifier URI of the sink resource for the requested Azure AD token. The resulting token contains the corresponding aud for this resource.",
+ "required": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by Azure AD client id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with object_id and msi_res_id.",
+ "required": false
+ },
+ {
+ "name": "object_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by Azure AD object id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and msi_res_id.",
+ "required": false
+ },
+ {
+ "name": "msi_res_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by urlencoded ARM resource id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and object_id.",
+ "required": false
+ },
+ {
+ "name": "authority",
+ "in": "query",
+ "type": "string",
+ "description": "This indicates the authority to request AAD tokens from. Defaults to the known authority of the identity to be used.",
+ "required": false
+ },
+ {
+ "name": "bypass_cache",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "description": "If provided, the value must be 'true'. This indicates to the server that the token must be retrieved from Azure AD and cannot be retrieved from an internal cache.",
+ "required": false,
+ "x-ms-enum": {
+ "name": "BypassCache",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "schema": {
+ "$ref": "#/definitions/IdentityTokenResponse"
+ }
+ },
+ "default": {
+ "headers": {
+ "Www-Authenticate": {
+ "type": "string",
+ "description": "This is the response header containing a challenge for the Basic scheme with a realm value"
+ }
+ },
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Identity Token for the VM": {
+ "$ref": "./examples/GetIdentityToken.json"
+ }
+ }
+ }
+ },
+ "/identity/info": {
+ "get": {
+ "tags": [
+ "Get metadata information"
+ ],
+ "description": "Get information about AAD Metadata",
+ "operationId": "Identity_GetInfo",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "schema": {
+ "$ref": "#/definitions/IdentityInfoResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Identity Info for the VM": {
+ "$ref": "./examples/GetIdentityInfo.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Compute": {
+ "type": "object",
+ "properties": {
+ "azEnvironment": {
+ "type": "string",
+ "description": "This is the name of the environment in which the VM is running."
+ },
+ "isHostCompatibilityLayerVm": {
+ "type": "string",
+ "description": "Identifies if the VM runs on the Host Compatibility Layer."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Type of license for Azure Hybrid Benefit. Note that this is only present for AHB-enabled VMs."
+ },
+ "location": {
+ "type": "string",
+ "description": "This is the Azure Region in which the VM is running."
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the name of the VM."
+ },
+ "offer": {
+ "type": "string",
+ "description": "This is the offer information for the VM image. This value is only present for images deployed from the Azure Image Gallery."
+ },
+ "osProfile": {
+ "type": "object",
+ "description": "This contains the data about the OS.",
+ "$ref": "#/definitions/OsProfile"
+ },
+ "osType": {
+ "type": "string",
+ "description": "This value indicates the type of OS the VM is running, either Linux or Windows."
+ },
+ "placementGroupId": {
+ "type": "string",
+ "description": "This is the placement group of your Virtual Machine Scale Set."
+ },
+ "plan": {
+ "type": "object",
+ "description": "This contains the data about the plan.",
+ "$ref": "#/definitions/PlanProperties"
+ },
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicKeysProperties"
+ },
+ "description": "This is information about the SSH certificate"
+ },
+ "platformFaultDomain": {
+ "type": "string",
+ "description": "This is the fault domain in which the VM."
+ },
+ "platformUpdateDomain": {
+ "type": "string",
+ "description": "This is the update domain in which the VM."
+ },
+ "provider": {
+ "type": "string",
+ "description": "This is the provider of the VM."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the publisher of the VM image."
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "This is the resource group for the VM."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "This is the fully qualified ID for the VM."
+ },
+ "securityProfile": {
+ "description": "This contains the data about the security profile associated with the VM.",
+ "$ref": "#/definitions/SecurityProfile"
+ },
+ "sku": {
+ "type": "string",
+ "description": "This is the specific SKU for the VM image."
+ },
+ "storageProfile": {
+ "type": "object",
+ "description": "This contains the data about the storage disks associated with the VM.",
+ "$ref": "#/definitions/StorageProfile"
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "This is the Azure subscription for the VM."
+ },
+ "tags": {
+ "type": "string",
+ "description": "This is the list of tags for your VM."
+ },
+ "tagsList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagsProperties"
+ },
+ "description": "This is the list of tags for your VM formatted as a JSON array for easier programmatic parsing."
+ },
+ "version": {
+ "type": "string",
+ "description": "This is the version of the VM image."
+ },
+ "vmId": {
+ "type": "string",
+ "description": "This is the unique identifier for the VM."
+ },
+ "vmScaleSetName": {
+ "type": "string",
+ "description": "This is the resource name of the VMSS."
+ },
+ "vmSize": {
+ "type": "string",
+ "description": "This is the size of the VM."
+ },
+ "zone": {
+ "type": "string",
+ "description": "This is the availability zone of the VM."
+ }
+ },
+ "description": "Compute Metadata"
+ },
+ "Network": {
+ "type": "object",
+ "properties": {
+ "interface": {
+ "type": "array",
+ "description": "This contains data about the network interface.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "description": "Network Metadata"
+ },
+ "NetworkInterface": {
+ "type": "object",
+ "description": "This contains data about the network interface.",
+ "properties": {
+ "ipv4": {
+ "type": "object",
+ "description": "This contains the IPv4 address.",
+ "properties": {
+ "ipAddress": {
+ "type": "array",
+ "description": "This is the IP address",
+ "items": {
+ "type": "object",
+ "description": "This contains the IPv4 properties.",
+ "$ref": "#/definitions/Ipv4Properties"
+ }
+ },
+ "subnet": {
+ "type": "array",
+ "description": "This is the subnet",
+ "items": {
+ "type": "object",
+ "description": "This contains the subnet properties.",
+ "$ref": "#/definitions/SubnetProperties"
+ }
+ }
+ }
+ },
+ "ipv6": {
+ "type": "object",
+ "description": "This contains the IPv6 address.",
+ "properties": {
+ "ipAddress": {
+ "type": "array",
+ "description": "This is the IP address",
+ "items": {
+ "type": "object",
+ "description": "This contains the IPv6 properties.",
+ "$ref": "#/definitions/Ipv6Properties"
+ }
+ }
+ }
+ },
+ "macAddress": {
+ "type": "string",
+ "description": "This is the MAC address of the interface."
+ }
+ }
+ },
+ "OsProfile": {
+ "type": "object",
+ "description": "This contains the data about the OS.",
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "This is admin account."
+ },
+ "computerName": {
+ "type": "string",
+ "description": "This is the name of the VM."
+ },
+ "disablePasswordAuthentication": {
+ "type": "string",
+ "description": "This specifies whether or not password authentication is disabled. Note that this is present only for Linux VMs. For a Windows VM, this value will be the empty string."
+ }
+ }
+ },
+ "PlanProperties": {
+ "type": "object",
+ "description": "This contains the data about the plan.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the Plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "This is the product of the image from the Marketplace."
+ }
+ }
+ },
+ "PublicKeysProperties": {
+ "type": "object",
+ "description": "This contains the data about the public key.",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "This specifies the full path on the VM where the SSH public key is stored."
+ },
+ "keyData": {
+ "type": "string",
+ "description": "This is the SSH public key certificate used to authenticate with the VM."
+ }
+ }
+ },
+ "TagsProperties": {
+ "type": "object",
+ "description": "This contains the properties of the tags in a tagsList.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the name of the tag. It is equivalent to the key in the key-value pair format."
+ },
+ "value": {
+ "type": "string",
+ "description": "This is the value of the tag. It is, as expected, equivalent to the value in the key-value pair format."
+ }
+ }
+ },
+ "Ipv4Properties": {
+ "type": "object",
+ "description": "This contains the IPv4 properties.",
+ "properties": {
+ "privateIpAddress": {
+ "type": "string",
+ "description": "This is the private IP address assigned to the interface."
+ },
+ "publicIpAddress": {
+ "type": "string",
+ "description": "This is the public IP address assigned to the interface."
+ }
+ }
+ },
+ "Ipv6Properties": {
+ "type": "object",
+ "description": "This contains the IPv6 properties.",
+ "properties": {
+ "privateIpAddress": {
+ "type": "string",
+ "description": "This is the private IPv6 address assigned to the interface."
+ }
+ }
+ },
+ "SubnetProperties": {
+ "type": "object",
+ "description": "This contains the properties of the subnet.",
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "This is the address range of the subnet."
+ },
+ "prefix": {
+ "type": "string",
+ "description": "This is the prefix of the subnet."
+ }
+ }
+ },
+ "SecurityProfile": {
+ "type": "object",
+ "description": "This contains the data about the security profile associated with the VM.",
+ "properties": {
+ "secureBootEnabled": {
+ "type": "string",
+ "description": "Identifies if UEFI secure boot is enabled on the VM"
+ },
+ "virtualTpmEnabled": {
+ "type": "string",
+ "description": "Identifies if the virtual Trusted Platform Module (TPM) is enabled on the VM"
+ }
+ }
+ },
+ "StorageProfile": {
+ "type": "object",
+ "description": "This contains the data about the storage disks associated with the VM.",
+ "properties": {
+ "imageReference": {
+ "type": "object",
+ "$ref": "#/definitions/ImageReference",
+ "description": "Image information"
+ },
+ "osDisk": {
+ "type": "object",
+ "$ref": "#/definitions/OsDisk",
+ "description": "OS disk information"
+ },
+ "dataDisks": {
+ "type": "array",
+ "description": "Data disk information",
+ "items": {
+ "type": "object",
+ "description": "This contains information about the data disk.",
+ "$ref": "#/definitions/DataDisk"
+ }
+ }
+ }
+ },
+ "ImageReference": {
+ "type": "object",
+ "description": "This contains information about the OS image.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "This is the resource ID."
+ },
+ "offer": {
+ "type": "string",
+ "description": "This is the offer of the platform or marketplace image."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the image publisher."
+ },
+ "sku": {
+ "type": "string",
+ "description": "This is the image SKU."
+ },
+ "version": {
+ "type": "string",
+ "description": "This is the version of the platform or marketplace image."
+ }
+ }
+ },
+ "OsDisk": {
+ "type": "object",
+ "description": "This contains information about the OS disk used by the VM.",
+ "properties": {
+ "caching": {
+ "type": "string",
+ "description": "This is the caching requirements."
+ },
+ "createOption": {
+ "type": "string",
+ "description": "This is information about how the VM was created."
+ },
+ "diffDiskSettings": {
+ "type": "object",
+ "description": "This is the ephemeral disk settings.",
+ "$ref": "#/definitions/DiffDiskSettings"
+ },
+ "diskSizeGB": {
+ "type": "string",
+ "description": "This is the size of the disk in GB."
+ },
+ "encryptionSettings": {
+ "type": "object",
+ "description": "This is the encryption settings for the disk.",
+ "$ref": "#/definitions/EncryptionSettings"
+ },
+ "image": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "$ref": "#/definitions/DiskImage"
+ },
+ "managedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "$ref": "#/definitions/ManagedDisk"
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the disk name."
+ },
+ "osType": {
+ "type": "string",
+ "description": "This is the type of OS included in the disk."
+ },
+ "vhd": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "$ref": "#/definitions/VirtualHardDisk"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "string",
+ "description": "This specifies whether or not writeAccelerator is enabled on the disk."
+ }
+ }
+ },
+ "DataDisk": {
+ "type": "object",
+ "description": "This contains information about the data disk.",
+ "properties": {
+ "caching": {
+ "type": "string",
+ "description": "This is the caching requirements."
+ },
+ "createOption": {
+ "type": "string",
+ "description": "This is information about how the VM was created."
+ },
+ "diskSizeGB": {
+ "type": "string",
+ "description": "This is the size of the disk in GB."
+ },
+ "image": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "$ref": "#/definitions/DiskImage"
+ },
+ "lun": {
+ "type": "string",
+ "description": "This is the logical unit number of the disk."
+ },
+ "managedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "$ref": "#/definitions/ManagedDisk"
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the disk name."
+ },
+ "vhd": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "$ref": "#/definitions/VirtualHardDisk"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "string",
+ "description": "This specifies whether or not writeAccelerator is enabled on the disk."
+ }
+ }
+ },
+ "EncryptionSettings": {
+ "type": "object",
+ "description": "This is the encryption settings for the disk.",
+ "properties": {
+ "enabled": {
+ "type": "string",
+ "description": "This specifies whether or not disk encryption is enabled on the VM."
+ }
+ }
+ },
+ "DiffDiskSettings": {
+ "type": "object",
+ "description": "This is the ephemeral disk settings.",
+ "properties": {
+ "option": {
+ "type": "string",
+ "description": "This specifies the ephemeral disk settings."
+ }
+ }
+ },
+ "DiskImage": {
+ "type": "object",
+ "description": "This is the source user image virtual hard disk.",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "This is the uri of the virtual hard disk."
+ }
+ }
+ },
+ "ManagedDisk": {
+ "type": "object",
+ "description": "This is managed disk parameters.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "This is the resource ID."
+ },
+ "storageAccountType": {
+ "type": "string",
+ "description": "This is the storage account type for the managed disk."
+ }
+ }
+ },
+ "VirtualHardDisk": {
+ "type": "object",
+ "description": "This is the virtual hard disk.",
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "This is the uri of the virtual hard disk."
+ }
+ }
+ },
+ "ApplicationResponse": {
+ "type": "string",
+ "description": "This is a binary string containing the application."
+ },
+ "Instance": {
+ "type": "object",
+ "description": "This is the response from the Instance_GetMetadata operation.",
+ "properties": {
+ "compute": {
+ "$ref": "#/definitions/Compute",
+ "description": "Compute Metadata"
+ },
+ "network": {
+ "$ref": "#/definitions/Network",
+ "description": "Network Metadata"
+ }
+ }
+ },
+ "AttestedData": {
+ "type": "object",
+ "description": "This is the response from the Attested_GetDocument operation.",
+ "properties": {
+ "signature": {
+ "type": "string",
+ "description": "This is the encoded string containing the VM ID, SKU, plan information, public key, timestamp, and nonce value."
+ },
+ "encoding": {
+ "type": "string",
+ "description": "This is the encoding scheme of the signature."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "This is the response from an operation in the case an error occurs.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "IdentityErrorResponse": {
+ "type": "object",
+ "description": "This is the response from an Identity operation in the case an error occurs.",
+ "properties": {
+ "error": {
+ "type": "string",
+ "description": "Error code",
+ "enum": [
+ "invalid_request",
+ "unauthorized_client",
+ "access_denied",
+ "unsupported_response_type",
+ "invalid_scope",
+ "server_error",
+ "service_unavailable",
+ "bad_request",
+ "forbidden",
+ "not_found",
+ "method_not_allowed",
+ "too_many_requests"
+ ],
+ "x-ms-enum": {
+ "name": "Error",
+ "modelAsString": true
+ }
+ },
+ "error_description": {
+ "type": "string",
+ "description": "Error message indicating why the operation failed."
+ }
+ }
+ },
+ "IdentityTokenResponse": {
+ "type": "object",
+ "description": "This is the response from the Identity_GetToken operation.",
+ "properties": {
+ "access_token": {
+ "type": "string",
+ "description": "This is the requested access token. The app can use this token to authenticate to the sink resource."
+ },
+ "expires_in": {
+ "type": "string",
+ "description": "This is how long the access token is valid (in seconds)."
+ },
+ "expires_on": {
+ "type": "string",
+ "description": "This is the time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. This value is used to determine the lifetime of cached tokens."
+ },
+ "ext_expires_in": {
+ "type": "string",
+ "description": "This indicates the extended lifetime of the token (in seconds)."
+ },
+ "not_before": {
+ "type": "string",
+ "description": "This is the time when the access token becomes effective. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time."
+ },
+ "resource": {
+ "type": "string",
+ "description": "This is the app ID URI of the sink resource."
+ },
+ "token_type": {
+ "type": "string",
+ "description": "This indicates the token type value."
+ },
+ "client_id": {
+ "type": "string",
+ "description": "This is the client_id specified in the request, if any."
+ },
+ "object_id": {
+ "type": "string",
+ "description": "This is the object_id specified in the request, if any."
+ },
+ "msi_res_id": {
+ "type": "string",
+ "description": "This is the msi_res_id specified in the request, if any."
+ }
+ }
+ },
+ "IdentityInfoResponse": {
+ "type": "object",
+ "description": "This is the response from the Identity_GetInfo operation.",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "This is the AAD tenantId of the identity of the system assigned managed identity."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "2018-10-01"
+ ],
+ "description": "This is the API version to use.",
+ "required": true,
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ }
+ },
+ "MetadataParameter": {
+ "name": "Metadata",
+ "in": "header",
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "description": "This must be set to 'true'.",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/imds/data-plane/readme.go.md b/specification/imds/data-plane/readme.go.md
index db87db66586d..35cdaa80b712 100644
--- a/specification/imds/data-plane/readme.go.md
+++ b/specification/imds/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: imds
clear-output-folder: true
```
diff --git a/specification/imds/data-plane/readme.md b/specification/imds/data-plane/readme.md
index fa527217b88a..1c2c8796d3fc 100644
--- a/specification/imds/data-plane/readme.md
+++ b/specification/imds/data-plane/readme.md
@@ -1,13 +1,17 @@
# Instance Metadata Service
+
> see https://aka.ms/autorest
This is the AutoRest configuration file for Instance Metadata Service.
## Getting Started
+
To build the SDKs for Instance Metadata Service, 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.
@@ -17,279 +21,358 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor
## Configuration
### Basic Information
+
These are the global settings for the Instance Metadata Service API.
``` yaml
openapi-type: data-plane
azure-arm: false
-tag: package-2019-02-01
+tag: package-2020-10-01
```
### Tag: package-2018-10-01
These settings apply only when `--tag=package-2018-10-01` is specified on the command line.
-```yaml $(tag) == 'package-2018-10-01'
+``` yaml $(tag) == 'package-2018-10-01'
input-file:
-- Microsoft.InstanceMetadataService/stable/2018-10-01/imds.json
+ - Microsoft.InstanceMetadataService/stable/2018-10-01/imds.json
```
### Tag: package-2019-02-01
These settings apply only when `--tag=package-2019-02-01` is specified on the command line.
-```yaml $(tag) == 'package-2019-02-01'
+``` yaml $(tag) == 'package-2019-02-01'
input-file:
-- Microsoft.InstanceMetadataService/stable/2019-02-01/imds.json
+ - Microsoft.InstanceMetadataService/stable/2019-02-01/imds.json
```
### Tag: package-2019-03-11
These settings apply only when `--tag=package-2019-03-11` is specified on the command line.
-```yaml $(tag) == 'package-2019-03-11'
+``` yaml $(tag) == 'package-2019-03-11'
input-file:
-- Microsoft.InstanceMetadataService/stable/2019-03-11/imds.json
+ - Microsoft.InstanceMetadataService/stable/2019-03-11/imds.json
```
### Tag: package-2019-04-30
These settings apply only when `--tag=package-2019-04-30` is specified on the command line.
-```yaml $(tag) == 'package-2019-04-30'
+``` yaml $(tag) == 'package-2019-04-30'
input-file:
-- Microsoft.InstanceMetadataService/stable/2019-04-30/imds.json
+ - Microsoft.InstanceMetadataService/stable/2019-04-30/imds.json
```
### Tag: package-2019-06-01
These settings apply only when `--tag=package-2019-06-01` is specified on the command line.
-```yaml $(tag) == 'package-2019-06-01'
+``` yaml $(tag) == 'package-2019-06-01'
input-file:
-- Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json
+ - Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json
```
### Tag: package-2019-06-04
These settings apply only when `--tag=package-2019-06-04` is specified on the command line.
-```yaml $(tag) == 'package-2019-06-04'
+``` yaml $(tag) == 'package-2019-06-04'
input-file:
-- Microsoft.InstanceMetadataService/stable/2019-06-04/imds.json
+ - Microsoft.InstanceMetadataService/stable/2019-06-04/imds.json
```
### Tag: package-2019-08-01
These settings apply only when `--tag=package-2019-08-01` is specified on the command line.
-```yaml $(tag) == 'package-2019-08-01'
+``` yaml $(tag) == 'package-2019-08-01'
input-file:
-- Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
+ - Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
```
### Tag: package-2019-08-15
These settings apply only when `--tag=package-2019-08-15` is specified on the command line.
-```yaml $(tag) == 'package-2019-08-15'
+``` yaml $(tag) == 'package-2019-08-15'
input-file:
-- Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json
+ - Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json
```
### Tag: package-2019-11-01
These settings apply only when `--tag=package-2019-11-01` is specified on the command line.
-```yaml $(tag) == 'package-2019-11-01'
+``` yaml $(tag) == 'package-2019-11-01'
input-file:
-- Microsoft.InstanceMetadataService/stable/2019-11-01/imds.json
+ - Microsoft.InstanceMetadataService/stable/2019-11-01/imds.json
```
+
### Tag: package-2020-06-01
These settings apply only when `--tag=package-2020-06-01` is specified on the command line.
-```yaml $(tag) == 'package-2020-06-01'
+``` yaml $(tag) == 'package-2020-06-01'
+input-file:
+ - Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json
+```
+
+### Tag: package-2020-07-15
+
+These settings apply only when `--tag=package-2020-07-15` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-07-15'
+input-file:
+ - Microsoft.InstanceMetadataService/stable/2020-07-15/imds.json
+```
+
+### Tag: package-2020-09-01
+
+These settings apply only when `--tag=package-2020-09-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-09-01'
input-file:
-- Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json
+ - Microsoft.InstanceMetadataService/stable/2020-09-01/imds.json
+```
+
+### Tag: package-2020-10-01
+
+These settings apply only when `--tag=package-2020-10-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-10-01'
+input-file:
+ - Microsoft.InstanceMetadataService/stable/2020-10-01/imds.json
```
## Suppression
- ``` yaml
- directive:
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2018-10-01/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-02-01/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-03-11/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-04-30/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-06-04/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
-
- - suppress: HttpsSupportedScheme
- reason: IMDS does not require HTTPS to query it
-
- - suppress: SecurityDefinitionsStructure
- reason: IMDS does not support any authentication
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2019-11-01/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
-
- - suppress: DefinitionsPropertiesNamesCamelCase
- reason: The following properties follow the Oath2 spec, which does not use camelCase.
- from: Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json
- where:
- - $.definitions.IdentityTokenResponse.properties.access_token
- - $.definitions.IdentityTokenResponse.properties.expires_in
- - $.definitions.IdentityTokenResponse.properties.expires_on
- - $.definitions.IdentityTokenResponse.properties.ext_expires_in
- - $.definitions.IdentityTokenResponse.properties.not_before
- - $.definitions.IdentityTokenResponse.properties.resource
- - $.definitions.IdentityTokenResponse.properties.token_type
- - $.definitions.IdentityTokenResponse.properties.client_id
- - $.definitions.IdentityTokenResponse.properties.object_id
- - $.definitions.IdentityTokenResponse.properties.msi_res_id
- - $.definitions.IdentityErrorResponse.properties.error_description
- ```
+
+``` yaml
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2018-10-01/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-02-01/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-03-11/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-04-30/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-06-01/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-06-04/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: HttpsSupportedScheme
+ reason: IMDS does not require HTTPS to query it
+
+ - suppress: SecurityDefinitionsStructure
+ reason: IMDS does not support any authentication
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2019-11-01/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2020-07-15/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2020-09-01/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2020-10-01/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+```
---
+
# Code Generation
## Java
-These settings apply only when --java is specified on the command line. Please also specify --azure-libraries-for-java-folder=.
+These settings apply only when --java is specified on the command line. Please also specify --azure-libraries-for-java-folder=`.
``` yaml $(java)
java:
@@ -316,7 +399,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
```
-## 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.
@@ -337,14 +420,17 @@ input-file:
- $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-08-01/imds.json
- $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-08-15/imds.json
- $(this-folder)/Microsoft.InstanceMetadataService/stable/2019-11-01/imds.json
+ - $(this-folder)/Microsoft.InstanceMetadataService/stable/2020-06-01/imds.json
+ - $(this-folder)/Microsoft.InstanceMetadataService/stable/2020-07-15/imds.json
+ - $(this-folder)/Microsoft.InstanceMetadataService/stable/2020-09-01/imds.json
+ - $(this-folder)/Microsoft.InstanceMetadataService/stable/2020-10-01/imds.json
```
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
+If there are files that should not be in the `all-api-versions` set,
+uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
+#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/iotcentral/resource-manager/readme.go.md b/specification/iotcentral/resource-manager/readme.go.md
index d3c3f5de7d28..6ae9907b07b5 100644
--- a/specification/iotcentral/resource-manager/readme.go.md
+++ b/specification/iotcentral/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: iotcentral
```
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-02-01-preview/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-02-01-preview/iothub.json
index 71d10452c8a4..1ea903462028 100644
--- a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-02-01-preview/iothub.json
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-02-01-preview/iothub.json
@@ -4246,7 +4246,7 @@
"enum": [
"SystemAssigned",
"UserAssigned",
- "SystemAssigned,UserAssigned",
+ "SystemAssigned, UserAssigned",
"None"
],
"x-ms-enum": {
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/IotHub_ManualFailover.json
new file mode 100644
index 000000000000..3ec365b0a8fa
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/IotHub_ManualFailover.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "failoverInput": {
+ "failoverRegion": "testHub"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/checkNameAvailability.json
new file mode 100644
index 000000000000..4b846d777cd9
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/checkNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "operationInputs": {
+ "name": "test-request"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Invalid",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_certificatescreateorupdate.json
new file mode 100644
index 000000000000..981d242743df
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_certificatescreateorupdate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceName": "iothub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "certificateDescription": {
+ "properties": {
+ "certificate": "############################################"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_certificatesdelete.json
new file mode 100644
index 000000000000..fada2821e8e9
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_certificatesdelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceName": "myhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_certverify.json
new file mode 100644
index 000000000000..172125decc3d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_certverify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk=",
+ "certificateVerificationBody": {
+ "certificate": "#####################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": true,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpTQ="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_createOrUpdate.json
new file mode 100644
index 000000000000..a68f2df21142
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_createOrUpdate.json
@@ -0,0 +1,296 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "iotHubDescription": {
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "ipFilterRules": [],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "capacity": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_createconsumergroup.json
new file mode 100644
index 000000000000..40e6dfa66874
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_createconsumergroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test",
+ "consumerGroupBody": {
+ "properties": {
+ "name": "test"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_delete.json
new file mode 100644
index 000000000000..d60e1598325c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_delete.json
@@ -0,0 +1,218 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "204": {},
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "404": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_deleteconsumergroup.json
new file mode 100644
index 000000000000..22011e7e31ae
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_deleteconsumergroup.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_deleteprivateendpointconnection.json
new file mode 100644
index 000000000000..99f9b27d2571
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_deleteprivateendpointconnection.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_exportdevices.json
new file mode 100644
index 000000000000..d29fafd747ff
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_exportdevices.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "exportDevicesParameters": {
+ "authenticationType": "identityBased",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1"
+ },
+ "exportBlobContainerUri": "testBlob",
+ "excludeKeys": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_generateverificationcode.json
new file mode 100644
index 000000000000..ef16e722a88d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_generateverificationcode.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cert",
+ "properties": {
+ "verificationCode": "##################################",
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "##############################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_get.json
new file mode 100644
index 000000000000..ac7a98ec79a7
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_get.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "deviceStreams": {
+ "streamingEndpoints": [
+ "https://streams.azure-devices-int.net:9443"
+ ]
+ },
+ "locations": [
+ {
+ "location": "West US",
+ "role": "primary"
+ },
+ {
+ "location": "East US",
+ "role": "secondary"
+ }
+ ],
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getcertificate.json
new file mode 100644
index 000000000000..0874671b8d75
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getcertificate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getconsumergroup.json
new file mode 100644
index 000000000000..50571f4c8065
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getconsumergroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getjob.json
new file mode 100644
index 000000000000..eadcb7606713
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getjob.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "jobId": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getkey.json
new file mode 100644
index 000000000000..79d493636267
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getkey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "keyName": "iothubowner"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyName": "iothubowner",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getprivateendpointconnection.json
new file mode 100644
index 000000000000..3f880a9bd825
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getprivateendpointconnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getprivatelinkresources.json
new file mode 100644
index 000000000000..e346132c46f7
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getprivatelinkresources.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "groupId": "iotHub"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub",
+ "name": "iotHub",
+ "type": "Microsoft.Devices/IotHubs/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotHub",
+ "requiredMembers": [
+ "iotHub"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getskus.json
new file mode 100644
index 000000000000..1140c2bb9b04
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_getskus.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 200,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S3",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_importdevices.json
new file mode 100644
index 000000000000..054de5716231
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_importdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "importDevicesParameters": {
+ "inputBlobContainerUri": "testBlob",
+ "outputBlobContainerUri": "testBlob"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listbyrg.json
new file mode 100644
index 000000000000..d7a1639e556e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listbyrg.json
@@ -0,0 +1,117 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listbysubscription.json
new file mode 100644
index 000000000000..4e2aa2451dd9
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listbysubscription.json
@@ -0,0 +1,116 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listcertificates.json
new file mode 100644
index 000000000000..23381f76fcd7
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listcertificates.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listehgroups.json
new file mode 100644
index 000000000000..6edf51bb0c64
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listehgroups.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "$Default",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listjobs.json
new file mode 100644
index 000000000000..4ae94b279956
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listjobs.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listkeys.json
new file mode 100644
index 000000000000..0ba6b8324775
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listkeys.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "keyName": "iothubowner",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ },
+ {
+ "keyName": "service",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "ServiceConnect"
+ },
+ {
+ "keyName": "device",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "DeviceConnect"
+ },
+ {
+ "keyName": "registryRead",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryRead"
+ },
+ {
+ "keyName": "registryReadWrite",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryWrite"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listprivateendpointconnections.json
new file mode 100644
index 000000000000..a6db5453e791
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listprivateendpointconnections.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listprivatelinkresources.json
new file mode 100644
index 000000000000..a38d47b4b99c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_listprivatelinkresources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub",
+ "name": "iotHub",
+ "type": "Microsoft.Devices/IotHubs/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotHub",
+ "requiredMembers": [
+ "iotHub"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_operations.json
new file mode 100644
index 000000000000..9e7860f83250
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_operations.json
@@ -0,0 +1,328 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Devices/register/action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Register Resource Provider",
+ "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service metric definitions",
+ "description": "Gets the available metrics for the IotHub service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service log definitions",
+ "description": "Gets the available log definitions for the IotHub Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/operations/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get All ResourceProvider Operations",
+ "description": "Get All ResourceProvider Operations"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Check If IotHub name is available",
+ "description": "Check If IotHub name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/usages/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Subscription Usages",
+ "description": "Get subscription usage details for this provider."
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub(s)",
+ "description": "Gets the IotHub resource(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create or update IotHub Resource",
+ "description": "Create or update IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete IotHub Resource",
+ "description": "Delete IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubStats/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Statistics",
+ "description": "Get IotHub Statistics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get valid IotHub Skus",
+ "description": "Get valid IotHub Skus"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get all IotHub Keys",
+ "description": "Get all IotHub Keys"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Key for the given name",
+ "description": "Get IotHub Key for the given name"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create EventHub Consumer Group",
+ "description": "Create EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get EventHub Consumer Group(s)",
+ "description": "Get EventHub Consumer Group(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete EventHub Consumer Group",
+ "description": "Delete EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/exportDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Export Devices",
+ "description": "Export Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/importDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Import Devices",
+ "description": "Import Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/jobs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get the Job(s) on IotHub",
+ "description": "Get Job(s) details submitted on given IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Quota Metrics",
+ "description": "Get Quota Metrics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test All",
+ "description": "Test a message against all existing Routes"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test Route",
+ "description": "Test a message against a provided test Route"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Endpoint Health",
+ "description": "Gets the health of all routing Endpoints for an IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service metric definitions",
+ "description": "Gets the available metrics for the DPS service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service log definitions",
+ "description": "Gets the available log definitions for the DPS Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServives",
+ "operation": "Check If Provisioning Service name is available",
+ "description": "Check If Provisioning Service name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Get Provisioning Service resource",
+ "description": "Get Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Create Provisioning Service resource",
+ "description": "Create Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "get security related metadata",
+ "description": "get security related metadata"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_patch.json
new file mode 100644
index 000000000000..b3bb8d7d0f74
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_patch.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "resourceName": "myHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "location": "East US",
+ "type": "Microsoft.Devices/IotHubs",
+ "IotHubTags": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {
+ "foo": "bar"
+ },
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_quotametrics.json
new file mode 100644
index 000000000000..03a00143a492
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_quotametrics.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "TotalMessages",
+ "currentValue": 0,
+ "maxValue": 400000
+ },
+ {
+ "name": "TotalDeviceCount",
+ "currentValue": 0,
+ "maxValue": 500000
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_routingendpointhealth.json
new file mode 100644
index 000000000000..2ab8e1dae992
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_routingendpointhealth.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "endpointId": "id1",
+ "healthStatus": "healthy",
+ "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z",
+ "lastSendAttemptTime": "2020-03-26T21:24:57Z"
+ },
+ {
+ "endpointId": "id2",
+ "healthStatus": "unknown"
+ },
+ {
+ "endpointId": "id3",
+ "healthStatus": "unhealthy",
+ "lastKnownError": "NotFound",
+ "lastKnownErrorTime": "2020-03-26T21:24:57Z",
+ "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z",
+ "lastSendAttemptTime": "2020-03-26T21:24:57Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_stats.json
new file mode 100644
index 000000000000..1a7bcb918e7e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_stats.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "totalDeviceCount": 0,
+ "enabledDeviceCount": 0,
+ "disabledDeviceCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_testallroutes.json
new file mode 100644
index 000000000000..0cd0cb716327
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_testallroutes.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "routingSource": "DeviceMessages",
+ "message": {
+ "body": "Body of message",
+ "appProperties": {
+ "key1": "value1"
+ },
+ "systemProperties": {
+ "key1": "value1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "routes": [
+ {
+ "properties": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_testnewroute.json
new file mode 100644
index 000000000000..79ce9a221230
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_testnewroute.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "message": {
+ "body": "Body of message",
+ "appProperties": {
+ "key1": "value1"
+ },
+ "systemProperties": {
+ "key1": "value1"
+ }
+ },
+ "route": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "result": "false",
+ "details": {
+ "compilationErrors": [
+ {
+ "message": "string response",
+ "severity": "error",
+ "location": {
+ "start": {
+ "line": 12,
+ "column": 12
+ },
+ "end": {
+ "line": 12,
+ "column": 24
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_updateprivateendpointconnection.json
new file mode 100644
index 000000000000..1f3ad93b161a
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_updateprivateendpointconnection.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_usages.json
new file mode 100644
index 000000000000..8b557627516a
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/examples/iothub_usages.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-03-03-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount",
+ "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages",
+ "unit": "count",
+ "currentValue": 1,
+ "limit": 1,
+ "name": {
+ "value": "FreeHubCount",
+ "localizedValue": "Free Hub Count"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/iothub.json
new file mode 100644
index 000000000000..39215739404a
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-03-03-preview/iothub.json
@@ -0,0 +1,4405 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-03-03-preview",
+ "title": "iotHubClient",
+ "description": "Use this API to manage the IoT hubs in your Azure subscription.",
+ "x-ms-code-generation-settings": {
+ "header": "MICROSOFT_MIT_NO_VERSION"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Devices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/iothub_operations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "description": "Lists all of the available IoT Hub REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the non-security related metadata of an IoT hub",
+ "description": "Get the non-security related metadata of an IoT hub.",
+ "operationId": "IotHubResource_Get",
+ "x-ms-examples": {
+ "IotHubResource_Get": {
+ "$ref": "./examples/iothub_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update the metadata of an IoT hub.",
+ "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub.",
+ "operationId": "IotHubResource_CreateOrUpdate",
+ "x-ms-examples": {
+ "IotHubResource_CreateOrUpdate": {
+ "$ref": "./examples/iothub_createOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "iotHubDescription",
+ "in": "body",
+ "description": "The IoT hub metadata and security metadata.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "patch": {
+ "tags": [
+ "PATCH"
+ ],
+ "summary": "Update an existing IoT Hubs tags.",
+ "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotHubResource_Update",
+ "x-ms-examples": {
+ "IotHubResource_Update": {
+ "$ref": "./examples/iothub_patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of iot hub to update."
+ },
+ {
+ "name": "IotHubTags",
+ "in": "body",
+ "required": true,
+ "description": "Updated tag information to set into the iot hub instance.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Iot Hub was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete an IoT hub",
+ "description": "Delete an IoT hub.",
+ "operationId": "IotHubResource_Delete",
+ "x-ms-examples": {
+ "IotHubResource_Delete": {
+ "$ref": "./examples/iothub_delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "204": {
+ "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state."
+ },
+ "404": {
+ "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a subscription",
+ "description": "Get all the IoT hubs in a subscription.",
+ "operationId": "IotHubResource_ListBySubscription",
+ "x-ms-examples": {
+ "IotHubResource_ListBySubscription": {
+ "$ref": "./examples/iothub_listbysubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a resource group",
+ "description": "Get all the IoT hubs in a resource group.",
+ "operationId": "IotHubResource_ListByResourceGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListByResourceGroup": {
+ "$ref": "./examples/iothub_listbyrg.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the statistics from an IoT hub",
+ "description": "Get the statistics from an IoT hub.",
+ "operationId": "IotHubResource_GetStats",
+ "x-ms-examples": {
+ "IotHubResource_GetStats": {
+ "$ref": "./examples/iothub_stats.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/RegistryStatistics"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the list of valid SKUs for an IoT hub",
+ "description": "Get the list of valid SKUs for an IoT hub.",
+ "operationId": "IotHubResource_GetValidSkus",
+ "x-ms-examples": {
+ "IotHubResource_GetValidSkus": {
+ "$ref": "./examples/iothub_getskus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubSkuDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub",
+ "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.",
+ "operationId": "IotHubResource_ListEventHubConsumerGroups",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_listehgroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupsListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub",
+ "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.",
+ "operationId": "IotHubResource_GetEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_getconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to retrieve.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_CreateEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_CreateEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_createconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to add.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "consumerGroupBody",
+ "in": "body",
+ "description": "The consumer group to add.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupBodyDescription"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_DeleteEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_DeleteEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_deleteconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_ListJobs",
+ "x-ms-examples": {
+ "IotHubResource_ListJobs": {
+ "$ref": "./examples/iothub_listjobs.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponseListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_GetJob",
+ "x-ms-examples": {
+ "IotHubResource_GetJob": {
+ "$ref": "./examples/iothub_getjob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the quota metrics for an IoT hub",
+ "description": "Get the quota metrics for an IoT hub.",
+ "operationId": "IotHubResource_GetQuotaMetrics",
+ "x-ms-examples": {
+ "IotHubResource_GetQuotaMetrics": {
+ "$ref": "./examples/iothub_quotametrics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfoListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotHubResource_GetEndpointHealth",
+ "summary": "Get the health for routing endpoints",
+ "description": "Get the health for routing endpoints.",
+ "x-ms-examples": {
+ "IotHubResource_GetEndpointHealth": {
+ "$ref": "./examples/iothub_routingendpointhealth.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "iotHubName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EndpointHealthDataListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Check if an IoT hub name is available",
+ "description": "Check if an IoT hub name is available.",
+ "operationId": "IotHubResource_CheckNameAvailability",
+ "x-ms-examples": {
+ "IotHubResource_CheckNameAvailability": {
+ "$ref": "./examples/checkNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "operationInputs",
+ "in": "body",
+ "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OperationInputs"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/IotHubNameAvailabilityInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the number of iot hubs in the subscription",
+ "description": "Get the number of free and paid iot hubs in the subscription",
+ "operationId": "ResourceProviderCommon_GetSubscriptionQuota",
+ "x-ms-examples": {
+ "ResourceProviderCommon_GetSubscriptionQuota": {
+ "$ref": "./examples/iothub_usages.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSubscriptionQuotaListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestAllRoutes",
+ "summary": "Test all routes",
+ "description": "Test all routes configured in this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestAllRoutes": {
+ "$ref": "./examples/iothub_testallroutes.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Input for testing all routes",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestRoute",
+ "summary": "Test the new route",
+ "description": "Test the new route for this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestRoute": {
+ "$ref": "./examples/iothub_testnewroute.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Route that needs to be tested",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestRouteInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestRouteResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_ListKeys",
+ "x-ms-examples": {
+ "IotHubResource_ListKeys": {
+ "$ref": "./examples/iothub_listkeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_GetKeysForKeyName",
+ "x-ms-examples": {
+ "IotHubResource_GetKeysForKeyName": {
+ "$ref": "./examples/iothub_getkey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "keyName",
+ "in": "path",
+ "description": "The name of the shared access policy.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ExportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ExportDevices": {
+ "$ref": "./examples/iothub_exportdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "exportDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the export devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ImportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ImportDevices": {
+ "$ref": "./examples/iothub_importdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "importDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the import devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate list.",
+ "description": "Returns the list of certificates.",
+ "operationId": "Certificates_ListByIotHub",
+ "x-ms-examples": {
+ "Certificates_ListByIotHub": {
+ "$ref": "./examples/iothub_listcertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the certificate list.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate.",
+ "description": "Returns the certificate.",
+ "operationId": "Certificates_Get",
+ "x-ms-examples": {
+ "Certificates_Get": {
+ "$ref": "./examples/iothub_getcertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Upload the certificate to the IoT hub.",
+ "description": "Adds new or replaces existing certificate.",
+ "operationId": "Certificates_CreateOrUpdate",
+ "x-ms-examples": {
+ "Certificates_CreateOrUpdate": {
+ "$ref": "./examples/iothub_certificatescreateorupdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateDescription",
+ "in": "body",
+ "description": "The certificate body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "200": {
+ "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Delete an X509 certificate.",
+ "description": "Deletes an existing X509 certificate or does nothing if it does not exist.",
+ "operationId": "Certificates_Delete",
+ "x-ms-examples": {
+ "Certificates_Delete": {
+ "$ref": "./examples/iothub_certificatesdelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Certificate has been deleted."
+ },
+ "204": {
+ "description": "Certificate does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Generate verification code for proof of possession flow.",
+ "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.",
+ "operationId": "Certificates_GenerateVerificationCode",
+ "x-ms-examples": {
+ "Certificates_GenerateVerificationCode": {
+ "$ref": "./examples/iothub_generateverificationcode.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateWithNonceDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Verify certificate's private key possession.",
+ "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.",
+ "operationId": "Certificates_Verify",
+ "x-ms-examples": {
+ "Certificates_Verify": {
+ "$ref": "./examples/iothub_certverify.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateVerificationBody",
+ "in": "body",
+ "description": "The name of the certificate",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateVerificationDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHub_ManualFailover",
+ "summary": "Manually initiate a failover for the IoT Hub to its secondary region",
+ "description": "Manually initiate a failover for the IoT Hub to its secondary region. To learn more, see https://aka.ms/manualfailover",
+ "x-ms-examples": {
+ "IotHub_ManualFailover": {
+ "$ref": "./examples/IotHub_ManualFailover.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "name": "iotHubName",
+ "description": "Name of the IoT hub to failover",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "description": "Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/manualfailover/region",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "Name of the resource group containing the IoT hub resource",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Long running manual failover operation for the IoT hub completed"
+ },
+ "202": {
+ "description": "Manual failover initiated"
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private link resources",
+ "description": "List private link resources for the given IotHub",
+ "operationId": "PrivateLinkResources_List",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/iothub_listprivatelinkresources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private link resources",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResources"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources/{groupId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the specified private link resource",
+ "description": "Get the specified private link resource for the given IotHub",
+ "operationId": "PrivateLinkResources_Get",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/iothub_getprivatelinkresources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/groupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the specified of private link resource",
+ "schema": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private endpoint connections",
+ "description": "List private endpoint connection properties",
+ "operationId": "PrivateEndpointConnections_List",
+ "x-ms-examples": {
+ "PrivateEndpointConnections_List": {
+ "$ref": "./examples/iothub_listprivateendpointconnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionsList"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get private endpoint connection",
+ "description": "Get private endpoint connection properties",
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Get": {
+ "$ref": "./examples/iothub_getprivateendpointconnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Update private endpoint connection",
+ "description": "Update the status of a private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Update",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Update": {
+ "$ref": "./examples/iothub_updateprivateendpointconnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection with updated properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the update operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete private endpoint connection",
+ "description": "Delete private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Delete": {
+ "$ref": "./examples/iothub_deleteprivateendpointconnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "204": {
+ "description": "PrivateEndpoint does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "CertificateVerificationDescription": {
+ "description": "The JSON-serialized leaf certificate",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateListDescription": {
+ "description": "The JSON-serialized array of Certificate objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of Certificate objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ }
+ }
+ },
+ "CertificateBodyDescription": {
+ "description": "The JSON-serialized X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificateProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CertificateWithNonceDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificatePropertiesWithNonce"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SharedAccessSignatureAuthorizationRule": {
+ "description": "The properties of an IoT hub shared access policy.",
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "The name of the shared access policy.",
+ "type": "string"
+ },
+ "primaryKey": {
+ "description": "The primary key.",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "The secondary key.",
+ "type": "string"
+ },
+ "rights": {
+ "description": "The permissions assigned to the shared access policy.",
+ "enum": [
+ "RegistryRead",
+ "RegistryWrite",
+ "ServiceConnect",
+ "DeviceConnect",
+ "RegistryRead, RegistryWrite",
+ "RegistryRead, ServiceConnect",
+ "RegistryRead, DeviceConnect",
+ "RegistryWrite, ServiceConnect",
+ "RegistryWrite, DeviceConnect",
+ "ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect",
+ "RegistryRead, RegistryWrite, DeviceConnect",
+ "RegistryRead, ServiceConnect, DeviceConnect",
+ "RegistryWrite, ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "keyName",
+ "rights"
+ ]
+ },
+ "CertificateProperties": {
+ "description": "The description of an X509 CA Certificate.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string"
+ }
+ }
+ },
+ "CertificatePropertiesWithNonce": {
+ "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "verificationCode": {
+ "description": "The certificate's verification code that will be used for proof of possession.",
+ "type": "string",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubProperties": {
+ "description": "The properties of an IoT hub.",
+ "type": "object",
+ "properties": {
+ "authorizationPolicies": {
+ "description": "The shared access policies you can use to secure a connection to the IoT hub.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Whether requests from Public Network are allowed",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "ipFilterRules": {
+ "description": "The IP filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpFilterRule"
+ }
+ },
+ "networkRuleSets": {
+ "$ref": "#/definitions/NetworkRuleSetProperties"
+ },
+ "minTlsVersion": {
+ "type": "string",
+ "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected."
+ },
+ "privateEndpointConnections": {
+ "description": "Private endpoint connections created on this IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "The hub state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostName": {
+ "description": "The name of the host.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventHubEndpoints": {
+ "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/EventHubProperties"
+ }
+ },
+ "routing": {
+ "$ref": "#/definitions/RoutingProperties"
+ },
+ "storageEndpoints": {
+ "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/StorageEndpointProperties"
+ }
+ },
+ "messagingEndpoints": {
+ "description": "The messaging endpoint properties for the file upload notification queue.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/MessagingEndpointProperties"
+ }
+ },
+ "enableFileUploadNotifications": {
+ "description": "If True, file upload notifications are enabled.",
+ "type": "boolean"
+ },
+ "cloudToDevice": {
+ "$ref": "#/definitions/CloudToDeviceProperties"
+ },
+ "comments": {
+ "description": "IoT hub comments.",
+ "type": "string"
+ },
+ "deviceStreams": {
+ "description": "The device streams properties of iothub.",
+ "type": "object",
+ "properties": {
+ "streamingEndpoints": {
+ "description": "List of Device Streams Endpoints.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "features": {
+ "description": "The capabilities and features enabled for the IoT hub.",
+ "enum": [
+ "None",
+ "DeviceManagement"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capabilities",
+ "modelAsString": true
+ }
+ },
+ "encryption": {
+ "description": "The encryption properties for the IoT hub.",
+ "$ref": "#/definitions/EncryptionPropertiesDescription"
+ },
+ "locations": {
+ "description": "Primary and secondary location for iot hub",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubLocationDescription"
+ }
+ }
+ }
+ },
+ "IotHubSkuInfo": {
+ "description": "Information about the SKU of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the SKU.",
+ "enum": [
+ "F1",
+ "S1",
+ "S2",
+ "S3",
+ "B1",
+ "B2",
+ "B3"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubSku",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The billing tier for the IoT hub.",
+ "enum": [
+ "Free",
+ "Standard",
+ "Basic"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubSkuTier",
+ "modelAsString": false
+ }
+ },
+ "capacity": {
+ "format": "int64",
+ "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EventHubProperties": {
+ "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.",
+ "type": "object",
+ "properties": {
+ "retentionTimeInDays": {
+ "format": "int64",
+ "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages",
+ "type": "integer"
+ },
+ "partitionCount": {
+ "format": "int32",
+ "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.",
+ "type": "integer"
+ },
+ "partitionIds": {
+ "description": "The partition ids in the Event Hub-compatible endpoint.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "path": {
+ "description": "The Event Hub-compatible name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The Event Hub-compatible endpoint.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageEndpointProperties": {
+ "description": "The properties of the Azure Storage endpoint for file upload.",
+ "type": "object",
+ "properties": {
+ "sasTtlAsIso8601": {
+ "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.",
+ "type": "string",
+ "format": "duration"
+ },
+ "connectionString": {
+ "description": "The connection string for the Azure Storage account to which files are uploaded.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of storage endpoint for file upload.",
+ "$ref": "#/definitions/ManagedIdentity"
+ }
+ },
+ "required": [
+ "connectionString",
+ "containerName"
+ ]
+ },
+ "MessagingEndpointProperties": {
+ "description": "The properties of the messaging endpoints used by this IoT hub.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "CloudToDeviceProperties": {
+ "description": "The IoT hub cloud-to-device messaging properties.",
+ "type": "object",
+ "properties": {
+ "maxDeliveryCount": {
+ "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ },
+ "defaultTtlAsIso8601": {
+ "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "feedback": {
+ "$ref": "#/definitions/FeedbackProperties"
+ }
+ }
+ },
+ "IpFilterRule": {
+ "description": "The IP filter rules for the IoT hub.",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "description": "The name of the IP filter rule.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The desired action for requests captured by this rule.",
+ "enum": [
+ "Accept",
+ "Reject"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterActionType",
+ "modelAsString": false
+ }
+ },
+ "ipMask": {
+ "description": "A string that contains the IP address range in CIDR notation for the rule.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filterName",
+ "action",
+ "ipMask"
+ ]
+ },
+ "NetworkRuleSetProperties": {
+ "description": "Network Rule Set Properties of IotHub",
+ "type": "object",
+ "properties": {
+ "defaultAction": {
+ "type": "string",
+ "description": "Default Action for Network Rule Set",
+ "enum": [
+ "Deny",
+ "Allow"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultAction",
+ "modelAsString": true
+ },
+ "default": "Deny"
+ },
+ "applyToBuiltInEventHubEndpoint": {
+ "type": "boolean",
+ "description": "If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub"
+ },
+ "ipRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkRuleSetIpRule"
+ },
+ "description": "List of IP Rules"
+ }
+ },
+ "required": [
+ "applyToBuiltInEventHubEndpoint",
+ "ipRules"
+ ]
+ },
+ "NetworkRuleSetIpRule": {
+ "description": "IP Rule to be applied as part of Network Rule Set",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "type": "string",
+ "description": "Name of the IP filter rule."
+ },
+ "action": {
+ "type": "string",
+ "description": "IP Filter Action",
+ "enum": [
+ "Allow"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleIPAction",
+ "modelAsString": true
+ },
+ "default": "Allow"
+ },
+ "ipMask": {
+ "type": "string",
+ "description": "A string that contains the IP address range in CIDR notation for the rule."
+ }
+ },
+ "required": [
+ "filterName",
+ "ipMask"
+ ]
+ },
+ "PrivateLinkResources": {
+ "description": "The available private link resources for an IotHub",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of available private link resources for an IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ }
+ }
+ },
+ "GroupIdInformation": {
+ "description": "The group information for creating a private endpoint on an IotHub",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/GroupIdInformationProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "GroupIdInformationProperties": {
+ "description": "The properties for a group information object",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "description": "The group id"
+ },
+ "requiredMembers": {
+ "description": "The required members for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The required DNS zones for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionsList": {
+ "description": "The list of private endpoint connections for an IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "The private endpoint connection of an IotHub",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of a private endpoint connection",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The description for the current state of a private endpoint connection"
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Actions required for a private endpoint connection"
+ }
+ },
+ "required": [
+ "status",
+ "description"
+ ]
+ },
+ "FeedbackProperties": {
+ "description": "The properties of the feedback queue for cloud-to-device messages.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "RoutingProperties": {
+ "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging",
+ "type": "object",
+ "properties": {
+ "endpoints": {
+ "$ref": "#/definitions/RoutingEndpoints"
+ },
+ "routes": {
+ "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteProperties"
+ }
+ },
+ "fallbackRoute": {
+ "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.",
+ "$ref": "#/definitions/FallbackRouteProperties"
+ },
+ "enrichments": {
+ "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnrichmentProperties"
+ }
+ }
+ }
+ },
+ "RoutingEndpoints": {
+ "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.",
+ "type": "object",
+ "properties": {
+ "serviceBusQueues": {
+ "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties"
+ }
+ },
+ "serviceBusTopics": {
+ "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties"
+ }
+ },
+ "eventHubs": {
+ "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingEventHubProperties"
+ }
+ },
+ "storageContainers": {
+ "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingStorageContainerProperties"
+ }
+ }
+ }
+ },
+ "RoutingServiceBusQueueEndpointProperties": {
+ "description": "The properties related to service bus queue endpoint types.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the service bus queue endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the service bus queue endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Queue name on the service bus namespace",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the service bus queue endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing service bus queue endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus queue endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingServiceBusTopicEndpointProperties": {
+ "description": "The properties related to service bus topic endpoint types.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the service bus topic endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the service bus topic endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Queue name on the service bus topic",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the service bus topic endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing service bus topic endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus topic endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingEventHubProperties": {
+ "description": "The properties related to an event hub endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the event hub endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the event hub endpoint. ",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the event hub endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Event hub name on the event hub namespace",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the event hub endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing event hub endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the event hub endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the event hub endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingStorageContainerProperties": {
+ "description": "The properties related to a storage container endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the storage container endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the storage account.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the storage endpoint. It must include the protocol https://",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the storage endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing storage endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the storage account.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the storage account.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of storage container in the storage account.",
+ "type": "string"
+ },
+ "fileNameFormat": {
+ "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.",
+ "type": "string"
+ },
+ "batchFrequencyInSeconds": {
+ "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 720,
+ "minimum": 60
+ },
+ "maxChunkSizeInBytes": {
+ "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 524288000,
+ "minimum": 10485760
+ },
+ "encoding": {
+ "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.",
+ "type": "string",
+ "enum": [
+ "Avro",
+ "AvroDeflate",
+ "JSON"
+ ]
+ }
+ },
+ "required": [
+ "name",
+ "containerName"
+ ]
+ },
+ "RouteProperties": {
+ "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "source": {
+ "description": "The source that the routing rule is to be applied to, such as DeviceMessages.",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents",
+ "DigitalTwinChangeEvents",
+ "DeviceConnectionStateEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether a route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name",
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "FallbackRouteProperties": {
+ "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages",
+ "enum": [
+ "DeviceMessages"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether the fallback route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "EnrichmentProperties": {
+ "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key or name for the enrichment property.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value for the enrichment property.",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints for which the enrichment is applied to the message.",
+ "minItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "key",
+ "value",
+ "endpointNames"
+ ]
+ },
+ "IotHubDescription": {
+ "description": "The description of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "IotHub properties",
+ "$ref": "#/definitions/IotHubProperties"
+ },
+ "sku": {
+ "description": "IotHub SKU info",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ },
+ "identity": {
+ "description": "The managed identities for the IotHub.",
+ "$ref": "#/definitions/ArmIdentity"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ]
+ },
+ "Resource": {
+ "description": "The common properties of an Azure resource.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ]
+ },
+ "SharedAccessSignatureAuthorizationRuleListResult": {
+ "description": "The list of shared access policies with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shared access policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "IoT Hub REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{read | write | action | delete}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft Devices"
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Type: IotHubs"
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatusCode": {
+ "description": "The HTTP status code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfoListResult": {
+ "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of quota metrics objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthDataListResult": {
+ "description": "The JSON-serialized array of EndpointHealthData objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "JSON-serialized array of Endpoint health data",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointHealthData"
+ }
+ },
+ "nextLink": {
+ "description": "Link to more results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthData": {
+ "description": "The health data for an endpoint",
+ "type": "object",
+ "properties": {
+ "endpointId": {
+ "description": "Id of the endpoint",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint",
+ "enum": [
+ "unknown",
+ "healthy",
+ "degraded",
+ "unhealthy",
+ "dead"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "lastKnownError": {
+ "description": "Last error obtained when a message failed to be delivered to iot hub",
+ "type": "string"
+ },
+ "lastKnownErrorTime": {
+ "description": "Time at which the last known error occurred",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "lastSuccessfulSendAttemptTime": {
+ "description": "Last time iot hub successfully sent a message to the endpoint",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "lastSendAttemptTime": {
+ "description": "Last time iot hub tried to send a message to the endpoint",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ }
+ },
+ "RegistryStatistics": {
+ "description": "Identity registry statistics.",
+ "type": "object",
+ "properties": {
+ "totalDeviceCount": {
+ "format": "int64",
+ "description": "The total count of devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "enabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of enabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "disabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of disabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponseListResult": {
+ "description": "The JSON-serialized array of JobResponse objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of JobResponse objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescription": {
+ "description": "SKU properties.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "The type of the resource.",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ },
+ "capacity": {
+ "description": "IotHub capacity",
+ "$ref": "#/definitions/IotHubCapacity"
+ }
+ },
+ "required": [
+ "sku",
+ "capacity"
+ ]
+ },
+ "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 an IoT Hub instance."
+ },
+ "IotHubCapacity": {
+ "description": "IoT Hub capacity information.",
+ "type": "object",
+ "properties": {
+ "minimum": {
+ "format": "int64",
+ "description": "The minimum number of units.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1,
+ "readOnly": true
+ },
+ "maximum": {
+ "format": "int64",
+ "description": "The maximum number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "default": {
+ "format": "int64",
+ "description": "The default number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "scaleType": {
+ "description": "The type of the scaling enabled.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "None"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubScaleType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "EventHubConsumerGroupsListResult": {
+ "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of consumer groups objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EventHubConsumerGroupBodyDescription": {
+ "description": "The EventHub consumer group.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventHubConsumerGroupName"
+ }
+ }
+ },
+ "EventHubConsumerGroupName": {
+ "description": "The EventHub consumer group name.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "EventHub consumer group name",
+ "type": "string"
+ }
+ }
+ },
+ "EventHubConsumerGroupInfo": {
+ "description": "The properties of the EventHubConsumerGroupInfo object.",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "id": {
+ "description": "The Event Hub-compatible consumer group identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Event Hub-compatible consumer group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "the resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The etag.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubSkuDescription.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubSkuDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponse": {
+ "description": "The properties of the Job Response object.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "The job identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The start time of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The time the job stopped processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the job.",
+ "enum": [
+ "unknown",
+ "export",
+ "import",
+ "backup",
+ "readDeviceProperties",
+ "writeDeviceProperties",
+ "updateDeviceConfiguration",
+ "rebootDevice",
+ "factoryResetDevice",
+ "firmwareUpdate"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status of the job.",
+ "enum": [
+ "unknown",
+ "enqueued",
+ "running",
+ "completed",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": false
+ }
+ },
+ "failureReason": {
+ "description": "If status == failed, this string containing the reason for the failure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statusMessage": {
+ "description": "The status message for the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "parentJobId": {
+ "description": "The job identifier of the parent job, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubDescription objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfo": {
+ "description": "Quota metrics properties.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the quota metric.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value for the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "maxValue": {
+ "format": "int64",
+ "description": "The maximum value of the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationInputs": {
+ "description": "Input values.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the IoT hub to check.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "IotHubNameAvailabilityInfo": {
+ "description": "The properties indicating whether a given IoT hub name is available.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value which indicates whether the provided name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason for unavailability.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubNameUnavailabilityReason",
+ "modelAsString": false
+ }
+ },
+ "message": {
+ "description": "The detailed reason message.",
+ "type": "string"
+ }
+ }
+ },
+ "UserSubscriptionQuotaListResult": {
+ "type": "object",
+ "description": "Json-serialized array of User subscription quota response",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserSubscriptionQuota"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserSubscriptionQuota": {
+ "description": "User subscription quota response",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "IotHub type id",
+ "type": "string"
+ },
+ "type": {
+ "description": "Response type",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Unit of IotHub type",
+ "type": "string"
+ },
+ "currentValue": {
+ "description": "Current number of IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "limit": {
+ "description": "Numerical limit on IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "description": "IotHub type",
+ "$ref": "#/definitions/Name"
+ }
+ }
+ },
+ "Name": {
+ "description": "Name of Iot Hub type",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "IotHub type",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of name",
+ "type": "string"
+ }
+ }
+ },
+ "TestAllRoutesInput": {
+ "description": "Input for testing all routes",
+ "type": "object",
+ "properties": {
+ "routingSource": {
+ "description": "Routing source",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents",
+ "DigitalTwinChangeEvents",
+ "DeviceConnectionStateEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "RoutingTwin": {
+ "description": "Twin reference input parameter. This is an optional parameter",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Twin Tags",
+ "type": "object"
+ },
+ "properties": {
+ "properties": {
+ "desired": {
+ "description": "Twin desired properties",
+ "type": "object"
+ },
+ "reported": {
+ "description": "Twin desired properties",
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "RoutingMessage": {
+ "description": "Routing message",
+ "type": "object",
+ "properties": {
+ "body": {
+ "description": "Body of routing message",
+ "type": "string"
+ },
+ "appProperties": {
+ "description": "App properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "systemProperties": {
+ "description": "System properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TestAllRoutesResult": {
+ "description": "Result of testing all routes",
+ "type": "object",
+ "properties": {
+ "routes": {
+ "description": "JSON-serialized array of matched routes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchedRoute"
+ }
+ }
+ }
+ },
+ "MatchedRoute": {
+ "description": "Routes that matched",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of routes that matched",
+ "$ref": "#/definitions/RouteProperties"
+ }
+ }
+ },
+ "TestRouteInput": {
+ "required": [
+ "route"
+ ],
+ "description": "Input for testing route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "route": {
+ "description": "Route properties",
+ "$ref": "#/definitions/RouteProperties"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "TestRouteResult": {
+ "description": "Result of testing one route",
+ "type": "object",
+ "properties": {
+ "result": {
+ "description": "Result of testing route",
+ "enum": [
+ "undefined",
+ "false",
+ "true"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TestResultStatus",
+ "modelAsString": true
+ }
+ },
+ "details": {
+ "description": "Detailed result of testing route",
+ "$ref": "#/definitions/TestRouteResultDetails"
+ }
+ }
+ },
+ "TestRouteResultDetails": {
+ "description": "Detailed result of testing a route",
+ "type": "object",
+ "properties": {
+ "compilationErrors": {
+ "description": "JSON-serialized list of route compilation errors",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteCompilationError"
+ }
+ }
+ }
+ },
+ "RouteCompilationError": {
+ "description": "Compilation error when evaluating route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Route error message",
+ "type": "string"
+ },
+ "severity": {
+ "description": "Severity of the route error",
+ "enum": [
+ "error",
+ "warning"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RouteErrorSeverity",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "Location where the route error happened",
+ "$ref": "#/definitions/RouteErrorRange"
+ }
+ }
+ },
+ "RouteErrorRange": {
+ "description": "Range of route errors",
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "Start where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ },
+ "end": {
+ "description": "End where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ }
+ }
+ },
+ "RouteErrorPosition": {
+ "description": "Position where the route error happened",
+ "type": "object",
+ "properties": {
+ "line": {
+ "description": "Line where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ },
+ "column": {
+ "description": "Column where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "ExportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.",
+ "type": "object",
+ "properties": {
+ "exportBlobContainerUri": {
+ "description": "The export blob container URI.",
+ "type": "string"
+ },
+ "excludeKeys": {
+ "description": "The value indicating whether keys should be excluded during export.",
+ "type": "boolean"
+ },
+ "exportBlobName": {
+ "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported device registry information for the IoT Hub.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of storage endpoint for export devices.",
+ "$ref": "#/definitions/ManagedIdentity"
+ }
+ },
+ "required": [
+ "exportBlobContainerUri",
+ "excludeKeys"
+ ]
+ },
+ "ImportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an import of all devices in the hub.",
+ "type": "object",
+ "properties": {
+ "inputBlobContainerUri": {
+ "description": "The input blob container URI.",
+ "type": "string"
+ },
+ "outputBlobContainerUri": {
+ "description": "The output blob container URI.",
+ "type": "string"
+ },
+ "inputBlobName": {
+ "description": "The blob name to be used when importing from the provided input blob container.",
+ "type": "string"
+ },
+ "outputBlobName": {
+ "description": "The blob name to use for storing the status of the import job.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of storage endpoint for import devices.",
+ "$ref": "#/definitions/ManagedIdentity"
+ }
+ },
+ "required": [
+ "inputBlobContainerUri",
+ "outputBlobContainerUri"
+ ]
+ },
+ "FailoverInput": {
+ "description": "Use to provide failover region when requesting manual Failover for a hub.",
+ "type": "object",
+ "properties": {
+ "failoverRegion": {
+ "description": "Region the hub will be failed over to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "failoverRegion"
+ ]
+ },
+ "IotHubLocationDescription": {
+ "description": "Public representation of one of the locations where a resource is provisioned.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The name of the Azure region",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubReplicaRoleType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ArmIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "Principal Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Tenant Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "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.",
+ "type": "string",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ArmUserIdentity"
+ }
+ }
+ }
+ },
+ "ArmUserIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EncryptionPropertiesDescription": {
+ "description": "The encryption properties for the IoT hub.",
+ "type": "object",
+ "properties": {
+ "keySource": {
+ "description": "The source of the key.",
+ "type": "string"
+ },
+ "keyVaultProperties": {
+ "description": "The properties of the KeyVault key.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyVaultKeyProperties"
+ }
+ }
+ }
+ },
+ "KeyVaultKeyProperties": {
+ "description": "The properties of the KeyVault key.",
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "type": "string",
+ "description": "The identifier of the key."
+ },
+ "identity": {
+ "description": "Managed identity properties of KeyVault Key.",
+ "$ref": "#/definitions/ManagedIdentity"
+ }
+ }
+ },
+ "ManagedIdentity": {
+ "description": "The properties of the Managed identity.",
+ "type": "object",
+ "properties": {
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "The user assigned identity."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription identifier.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the IoT hub.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the IoT hub.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "certificateName": {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$",
+ "x-ms-parameter-location": "method"
+ },
+ "groupId": {
+ "name": "groupId",
+ "in": "path",
+ "description": "The name of the private link resource",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "privateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/readme.azureresourceschema.md b/specification/iothub/resource-manager/readme.azureresourceschema.md
index a3004e5e4dc3..f213683d88d9 100644
--- a/specification/iothub/resource-manager/readme.azureresourceschema.md
+++ b/specification/iothub/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,8 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-devices-2021-03-03-preview
+ - tag: schema-devices-2021-02-01-preview
- tag: schema-devices-2020-08-31-preview
- tag: schema-devices-2020-08-31
- tag: schema-devices-2020-08-01
@@ -28,6 +30,28 @@ batch:
Please also specify `--azureresourceschema-folder=`.
+### Tag: schema-devices-2021-03-03-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-devices-2021-03-03-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Devices/preview/2021-03-03-preview/iothub.json
+
+```
+
+### Tag: schema-devices-2021-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-devices-2021-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Devices/preview/2021-02-01-preview/iothub.json
+
+```
+
### Tag: schema-devices-2020-08-31-preview and azureresourceschema
``` yaml $(tag) == 'schema-devices-2020-08-31-preview' && $(azureresourceschema)
diff --git a/specification/iothub/resource-manager/readme.go.md b/specification/iothub/resource-manager/readme.go.md
index 0d97d1318696..c52b75c923b6 100644
--- a/specification/iothub/resource-manager/readme.go.md
+++ b/specification/iothub/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: devices
clear-output-folder: true
```
diff --git a/specification/iothub/resource-manager/readme.md b/specification/iothub/resource-manager/readme.md
index 282db0ad331f..fcad7c02c0ac 100644
--- a/specification/iothub/resource-manager/readme.md
+++ b/specification/iothub/resource-manager/readme.md
@@ -26,18 +26,27 @@ These are the global settings for the IotHub API.
``` yaml
openapi-type: arm
-tag: package-preview-2021-02
+tag: package-preview-2021-03
```
+### Tag: package-preview-2021-03
+
+These settings apply only when `--tag=package-preview-2021-03` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-03'
+input-file:
+ - Microsoft.Devices/preview/2021-03-03-preview/iothub.json
+```
### Tag: package-preview-2021-02
These settings apply only when `--tag=package-preview-2021-02` is specified on the command line.
-```yaml $(tag) == 'package-preview-2021-02'
+``` yaml $(tag) == 'package-preview-2021-02'
input-file:
- Microsoft.Devices/preview/2021-02-01-preview/iothub.json
```
+
### Tag: package-2020-08-31
These settings apply only when `--tag=package-2020-08-31` is specified on the command line.
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/defenderSettings.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/defenderSettings.json
index 5ab2abf09ed1..44c03aeed500 100644
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/defenderSettings.json
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/defenderSettings.json
@@ -307,11 +307,24 @@
"items": {
"type": "string"
}
+ },
+ "onboardingKind": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "MigratedToAzure"
+ ],
+ "description": "The kind of onboarding for the subscription",
+ "x-ms-enum": {
+ "name": "OnboardingKind",
+ "modelAsString": true
+ }
}
},
"required": [
"deviceQuota",
- "sentinelWorkspaceResourceIds"
+ "sentinelWorkspaceResourceIds",
+ "onboardingKind"
]
},
"DownloadLink": {
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/deviceGroups.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/deviceGroups.json
new file mode 100644
index 000000000000..7d7a9e5fa9ce
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/deviceGroups.json
@@ -0,0 +1,279 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Defender for IoT",
+ "description": "API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider",
+ "version": "2021-02-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/deviceGroups": {
+ "get": {
+ "x-ms-examples": {
+ "List device groups": {
+ "$ref": "./examples/DeviceGroups/List.json"
+ }
+ },
+ "tags": [
+ "Device Groups"
+ ],
+ "description": "List device groups",
+ "operationId": "DeviceGroups_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeviceGroupList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/deviceGroups/{deviceGroupName}": {
+ "get": {
+ "x-ms-examples": {
+ "Get device group": {
+ "$ref": "./examples/DeviceGroups/Get.json"
+ }
+ },
+ "tags": [
+ "Device Groups"
+ ],
+ "operationId": "DeviceGroups_Get",
+ "description": "Get device group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
+ },
+ {
+ "$ref": "#/parameters/DeviceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeviceGroupModel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Create or update device group": {
+ "$ref": "./examples/DeviceGroups/Put.json"
+ }
+ },
+ "tags": [
+ "Device Groups"
+ ],
+ "operationId": "DeviceGroups_CreateOrUpdate",
+ "description": "Create or update device group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
+ },
+ {
+ "$ref": "#/parameters/DeviceGroupName"
+ },
+ {
+ "$ref": "#/parameters/DeviceGroupModel"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated device group",
+ "schema": {
+ "$ref": "#/definitions/DeviceGroupModel"
+ }
+ },
+ "201": {
+ "description": "Created device group",
+ "schema": {
+ "$ref": "#/definitions/DeviceGroupModel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Delete device group": {
+ "$ref": "./examples/DeviceGroups/Delete.json"
+ }
+ },
+ "tags": [
+ "Device Groups"
+ ],
+ "operationId": "DeviceGroups_Delete",
+ "description": "Delete device group",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
+ },
+ {
+ "$ref": "#/parameters/DeviceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Device group deleted"
+ },
+ "204": {
+ "description": "Device group does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DeviceGroupList": {
+ "description": "List of device groups",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List data",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeviceGroupModel"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DeviceGroupModel": {
+ "type": "object",
+ "description": "Device group",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Device group properties",
+ "$ref": "#/definitions/DeviceGroupProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "DeviceGroupProperties": {
+ "type": "object",
+ "description": "Device group properties",
+ "properties": {}
+ }
+ },
+ "parameters": {
+ "DeviceGroupName": {
+ "name": "deviceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Device group name",
+ "x-ms-parameter-location": "method"
+ },
+ "DeviceGroupModel": {
+ "name": "deviceGroupModel",
+ "in": "body",
+ "required": true,
+ "description": "Device group model",
+ "schema": {
+ "$ref": "#/definitions/DeviceGroupModel"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/devices.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/devices.json
new file mode 100644
index 000000000000..42c426802e0a
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/devices.json
@@ -0,0 +1,746 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Defender for IoT",
+ "description": "API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider",
+ "version": "2021-02-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/deviceGroups/{deviceGroupName}/devices": {
+ "get": {
+ "x-ms-examples": {
+ "List devices": {
+ "$ref": "./examples/Devices/List.json"
+ }
+ },
+ "tags": [
+ "Devices"
+ ],
+ "description": "List devices",
+ "operationId": "Devices_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
+ },
+ {
+ "$ref": "#/parameters/DeviceGroupName"
+ },
+ {
+ "in": "query",
+ "name": "$skipToken",
+ "required": false,
+ "type": "string",
+ "description": "Skip token used for pagination"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeviceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/deviceGroups/{deviceGroupName}/devices/{deviceId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get device": {
+ "$ref": "./examples/Devices/Get.json"
+ }
+ },
+ "tags": [
+ "Devices"
+ ],
+ "operationId": "Devices_Get",
+ "description": "Get device",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
+ },
+ {
+ "$ref": "#/parameters/DeviceGroupName"
+ },
+ {
+ "$ref": "#/parameters/DeviceId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeviceModel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DeviceList": {
+ "description": "List of devices",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List data",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeviceModel"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "When there are too many devices for one page, use this URI to fetch the next page."
+ }
+ }
+ },
+ "DeviceModel": {
+ "type": "object",
+ "description": "Device",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Device properties",
+ "$ref": "#/definitions/DeviceProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "DeviceProperties": {
+ "type": "object",
+ "description": "Device properties",
+ "properties": {
+ "schemaVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Version of the device model schema"
+ },
+ "deviceDataSource": {
+ "readOnly": true,
+ "type": "string",
+ "$ref": "#/definitions/DeviceDataSource",
+ "description": "Device data source."
+ },
+ "sensor": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Sensor that scanned this device.",
+ "$ref": "#/definitions/Sensor"
+ },
+ "mergedDevices": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of merged devices data",
+ "items": {
+ "$ref": "#/definitions/MergedDevice"
+ }
+ },
+ "mergedToDeviceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The device Id that this device was merged into"
+ },
+ "onboardingStatus": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Onboarded",
+ "NotOnboarded",
+ "NotSupported",
+ "InsufficientInfo"
+ ],
+ "x-ms-enum": {
+ "name": "OnboardingStatus",
+ "modelAsString": true
+ },
+ "description": "Device onboarding status."
+ },
+ "deviceName": {
+ "type": "string",
+ "description": "Device name"
+ },
+ "deviceCategoryId": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "Device category id"
+ },
+ "deviceTypeId": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "Device type id"
+ },
+ "deviceSubTypeId": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "Device sub type id"
+ },
+ "deviceCategoryDisplayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Device category display name"
+ },
+ "deviceTypeDisplayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Device type display name"
+ },
+ "deviceSubTypeDisplayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Device sub type display name"
+ },
+ "profilingConfidence": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Confidence of the device profile"
+ },
+ "riskScore": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "risk score of the device."
+ },
+ "criticality": {
+ "type": "string",
+ "enum": [
+ "Low",
+ "Normal",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "Criticality",
+ "modelAsString": true
+ },
+ "description": "Device criticality."
+ },
+ "deviceTags": {
+ "type": "array",
+ "description": "Device tags",
+ "items": {
+ "type": "string"
+ }
+ },
+ "firstSeen": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "First time the device was seen."
+ },
+ "lastSeen": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Last time the device was seen."
+ },
+ "lastUpdated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Last time the device was updated by the profiler."
+ },
+ "hardware": {
+ "type": "object",
+ "description": "Device hardware data",
+ "$ref": "#/definitions/Hardware"
+ },
+ "firmwares": {
+ "type": "array",
+ "description": "List of device firmwares.",
+ "items": {
+ "$ref": "#/definitions/Firmware"
+ }
+ },
+ "operatingSystem": {
+ "type": "object",
+ "description": "Device operating system data",
+ "$ref": "#/definitions/OperatingSystem"
+ },
+ "businessFunction": {
+ "type": "string",
+ "description": "Device business function"
+ },
+ "purdueLevel": {
+ "type": "string",
+ "enum": [
+ "ProcessControl",
+ "Supervisory",
+ "Enterprise"
+ ],
+ "x-ms-enum": {
+ "name": "PurdueLevel",
+ "modelAsString": true
+ },
+ "description": "Purdue level of the device."
+ },
+ "authorizedState": {
+ "type": "string",
+ "enum": [
+ "Authorized",
+ "Unauthorized"
+ ],
+ "description": "Authorized state of the device.",
+ "x-ms-enum": {
+ "name": "AuthorizedState",
+ "modelAsString": true
+ }
+ },
+ "programmingState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "ProgrammingDevice",
+ "NotProgrammingDevice"
+ ],
+ "x-ms-enum": {
+ "name": "ProgrammingState",
+ "modelAsString": true
+ },
+ "description": "Indicates whether this device is programming"
+ },
+ "lastProgrammingTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "last time the device was programming or programed."
+ },
+ "cpes": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of Common Platform Enumeration (CPE)",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nics": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of the device network interface cards.",
+ "items": {
+ "$ref": "#/definitions/Nic"
+ }
+ },
+ "deviceStatus": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Active",
+ "Inactive",
+ "Removed",
+ "Deleted"
+ ],
+ "x-ms-enum": {
+ "name": "DeviceStatus",
+ "modelAsString": true
+ },
+ "description": "Device status."
+ },
+ "slots": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of the device slot in the backplane",
+ "items": {
+ "$ref": "#/definitions/Slot"
+ }
+ },
+ "parentDeviceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "For nested device, this is the parent device id."
+ },
+ "parentRackNumber": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "For nested device, this is the rack number in the parent device that holds the nested device."
+ },
+ "parentSlotNumber": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "For nested device, this is the slot number in the parent device that holds the nested device."
+ },
+ "packages": {
+ "type": "array",
+ "description": "List of device packages",
+ "items": {
+ "$ref": "#/definitions/Package"
+ }
+ },
+ "additionalFields": {
+ "type": "object",
+ "description": " A bag of fields which extends the device information."
+ }
+ }
+ },
+ "Slot": {
+ "type": "object",
+ "description": "Slot data in PLC backplane",
+ "properties": {
+ "slotNumber": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Slot number inside the rack"
+ },
+ "rackNumber": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Rack number in the backplane"
+ },
+ "slotType": {
+ "type": "string",
+ "enum": [
+ "Supply",
+ "AnalogIO",
+ "CommAdapter",
+ "DigitalIO",
+ "Cpu",
+ "Hmi",
+ "Generic"
+ ],
+ "x-ms-enum": {
+ "name": "SlotType",
+ "modelAsString": true
+ },
+ "description": "Slot type."
+ },
+ "hardwareVendor": {
+ "type": "string",
+ "description": "Hardware vendor of the slot."
+ },
+ "hardwareRevision": {
+ "type": "string",
+ "description": "Hardware revision of the slot."
+ },
+ "firmwareVersion": {
+ "type": "string",
+ "description": "Firmware revision of the slot."
+ },
+ "model": {
+ "type": "string",
+ "description": "Model of the slot."
+ },
+ "moduleVersion": {
+ "type": "string",
+ "description": "Module version of the slot."
+ },
+ "serialNumber": {
+ "type": "string",
+ "description": "Serial number of the slot."
+ },
+ "productCode": {
+ "type": "string",
+ "description": "Product code of the slot."
+ },
+ "cpes": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of Common Platform Enumeration (CPE) of the slot",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalData": {
+ "type": "object",
+ "description": " A bag of fields which extends the slot information."
+ }
+ }
+ },
+ "Nic": {
+ "type": "object",
+ "description": "Network interface card properties",
+ "properties": {
+ "lastSeen": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Last seen time"
+ },
+ "ipv4Address": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Ipv4 address"
+ },
+ "ipv6Address": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Ipv6 address"
+ },
+ "macAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Mac address"
+ },
+ "networkAdapterVendor": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Network adapter vendor."
+ },
+ "macCertainty": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Guess",
+ "Certain"
+ ],
+ "x-ms-enum": {
+ "name": "MacCertainty",
+ "modelAsString": true
+ },
+ "description": "Indicates whether the association of the mac to the ip address is certain or a guess."
+ },
+ "vlans": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of virtual LAN (vlan)",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Sensor": {
+ "type": "object",
+ "description": "Sensor that scanned the device",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sensor name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Ot",
+ "Enterprise"
+ ],
+ "x-ms-enum": {
+ "name": "SensorType",
+ "modelAsString": true
+ },
+ "description": "Sensor type."
+ },
+ "zone": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sensor zone."
+ },
+ "site": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sensor site."
+ }
+ }
+ },
+ "Hardware": {
+ "type": "object",
+ "description": "Device hardware data",
+ "properties": {
+ "model": {
+ "type": "string",
+ "description": "Hardware model."
+ },
+ "vendor": {
+ "type": "string",
+ "description": "Hardware vendor."
+ },
+ "serialNumber": {
+ "type": "string",
+ "description": "Hardware serial number."
+ }
+ }
+ },
+ "Firmware": {
+ "type": "object",
+ "description": "Device firmware data",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Firmware name."
+ },
+ "vendor": {
+ "type": "string",
+ "description": "Firmware vendor."
+ },
+ "version": {
+ "type": "string",
+ "description": "Firmware version."
+ },
+ "moduleAddress": {
+ "type": "string",
+ "description": "Firmware module address."
+ }
+ }
+ },
+ "Package": {
+ "type": "object",
+ "description": "Device package data",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Package name."
+ },
+ "version": {
+ "type": "string",
+ "description": "Package version."
+ }
+ }
+ },
+ "OperatingSystem": {
+ "type": "object",
+ "description": "Device operating system data",
+ "properties": {
+ "build": {
+ "type": "string",
+ "description": "OS build"
+ },
+ "distribution": {
+ "type": "string",
+ "description": "OS distribution"
+ },
+ "version": {
+ "type": "string",
+ "description": "OS version"
+ },
+ "platform": {
+ "type": "string",
+ "description": "OS platform"
+ },
+ "architecture": {
+ "type": "string",
+ "description": "OS architecture"
+ }
+ }
+ },
+ "MergedDevice": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Merged device data",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "device id"
+ },
+ "deviceDataSource": {
+ "readOnly": true,
+ "type": "string",
+ "$ref": "#/definitions/DeviceDataSource",
+ "description": "Device data source"
+ },
+ "sensor": {
+ "readOnly": true,
+ "type": "object",
+ "$ref": "#/definitions/Sensor",
+ "description": "Device sensor data"
+ }
+ }
+ },
+ "DeviceDataSource": {
+ "type": "string",
+ "enum": [
+ "OtSensor",
+ "CorpSensor",
+ "Mde",
+ "Other"
+ ],
+ "x-ms-enum": {
+ "name": "DeviceDataSource",
+ "modelAsString": true
+ },
+ "description": "Device data source"
+ }
+ },
+ "parameters": {
+ "DeviceGroupName": {
+ "name": "deviceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Device group name",
+ "x-ms-parameter-location": "method"
+ },
+ "DeviceId": {
+ "name": "deviceId",
+ "in": "path",
+ "required": true,
+ "description": "Device Id",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/Get.json
index 8e847e8d31bf..1ba4a1396f7c 100644
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/Get.json
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/Get.json
@@ -13,7 +13,8 @@
"deviceQuota": 2000,
"sentinelWorkspaceResourceIds": [
"/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"
- ]
+ ],
+ "onboardingKind": "Default"
}
}
}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/List.json
index 653d1067fbc6..99e14fb07340 100644
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/List.json
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/List.json
@@ -15,7 +15,8 @@
"deviceQuota": 2000,
"sentinelWorkspaceResourceIds": [
"/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"
- ]
+ ],
+ "onboardingKind": "Default"
}
}
]
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/Put.json
index 3b7aa9bcca33..2401622c2a8b 100644
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/Put.json
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DefenderSettings/Put.json
@@ -7,7 +7,8 @@
"deviceQuota": 2000,
"sentinelWorkspaceResourceIds": [
"/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"
- ]
+ ],
+ "onboardingKind": "Default"
}
}
},
@@ -21,7 +22,8 @@
"deviceQuota": 2000,
"sentinelWorkspaceResourceIds": [
"/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"
- ]
+ ],
+ "onboardingKind": "Default"
}
}
},
@@ -34,7 +36,8 @@
"deviceQuota": 2000,
"sentinelWorkspaceResourceIds": [
"/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1"
- ]
+ ],
+ "onboardingKind": "Default"
}
}
}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/Delete.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/Delete.json
new file mode 100644
index 000000000000..e042d9ab2073
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "iotDefenderLocation": "eastus",
+ "deviceGroupName": "myGroup"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/Get.json
new file mode 100644
index 000000000000..f1aa41ccd382
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "iotDefenderLocation": "eastus",
+ "deviceGroupName": "myGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myGroup",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/deviceGroups/myGroup",
+ "type": "Microsoft.IoTSecurity/locations/deviceGroups",
+ "properties": {},
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-04-27T21:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/List.json
new file mode 100644
index 000000000000..0ef17acc3b7f
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "iotDefenderLocation": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myGroup",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/deviceGroups/myGroup",
+ "type": "Microsoft.IoTSecurity/locations/deviceGroups",
+ "properties": {},
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-04-27T21:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/Put.json
new file mode 100644
index 000000000000..a0a3232d51ce
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/DeviceGroups/Put.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "iotDefenderLocation": "eastus",
+ "deviceGroupName": "myGroup",
+ "deviceGroupModel": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myGroup",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/deviceGroups/myGroup",
+ "type": "Microsoft.IoTSecurity/locations/deviceGroups",
+ "properties": {},
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-04-27T21:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myGroup",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/deviceGroups/myGroup",
+ "type": "Microsoft.IoTSecurity/locations/deviceGroups",
+ "properties": {},
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-04-27T21:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Devices/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Devices/Get.json
new file mode 100644
index 000000000000..c540ab4b7946
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Devices/Get.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "iotDefenderLocation": "eastus",
+ "deviceGroupName": "myGroup",
+ "deviceId": "fa30e727-16e1-4e81-84f1-d26b9153d1b2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "fa30e727-16e1-4e81-84f1-d26b9153d1b2",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/deviceGroups/myGroup/devices/fa30e727-16e1-4e81-84f1-d26b9153d1b2",
+ "type": "Microsoft.IoTSecurity/locations/deviceGroups/devices",
+ "properties": {
+ "schemaVersion": "1",
+ "deviceDataSource": "OtSensor",
+ "sensor": {
+ "name": "mySensor",
+ "zone": "myZone",
+ "site": "mySite"
+ },
+ "onboardingStatus": "InsufficientInfo",
+ "deviceName": "10.168.140.1",
+ "deviceCategoryId": 6,
+ "deviceTypeId": 17,
+ "deviceSubTypeId": 2,
+ "deviceCategoryDisplayName": "OT",
+ "deviceTypeDisplayName": "Industrial",
+ "deviceSubTypeDisplayName": "Historian",
+ "riskScore": 90,
+ "criticality": "Normal",
+ "firstSeen": "2020-05-13T06:32:25Z",
+ "lastSeen": "2020-05-13T06:32:25Z",
+ "lastUpdated": "2020-05-13T06:32:25Z",
+ "operatingSystem": {
+ "version": "10\\1604",
+ "platform": "Windows"
+ },
+ "purdueLevel": "ProcessControl",
+ "authorizedState": "Authorized",
+ "programmingState": "NotProgrammingDevice",
+ "nics": [
+ {
+ "lastSeen": "2020-05-13T06:32:25Z",
+ "ipv4Address": "10.168.140.1",
+ "macAddress": "34-E1-2D-77-80-D0",
+ "macCertainty": "Certain",
+ "vlans": [
+ "name(1)->2",
+ "3",
+ "another_name(4)"
+ ]
+ }
+ ],
+ "deviceStatus": "Active"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-04-27T21:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Devices/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Devices/List.json
new file mode 100644
index 000000000000..f3a48afcba78
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Devices/List.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "iotDefenderLocation": "eastus",
+ "deviceGroupName": "myGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "fa30e727-16e1-4e81-84f1-d26b9153d1b2",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/deviceGroups/myGroup/devices/fa30e727-16e1-4e81-84f1-d26b9153d1b2",
+ "type": "Microsoft.IoTSecurity/locations/deviceGroups/devices",
+ "properties": {
+ "schemaVersion": "1",
+ "deviceDataSource": "OtSensor",
+ "sensor": {
+ "name": "mySensor",
+ "zone": "myZone",
+ "site": "mySite"
+ },
+ "onboardingStatus": "InsufficientInfo",
+ "deviceName": "10.168.140.1",
+ "deviceCategoryId": 6,
+ "deviceTypeId": 17,
+ "deviceSubTypeId": 2,
+ "deviceCategoryDisplayName": "OT",
+ "deviceTypeDisplayName": "Industrial",
+ "deviceSubTypeDisplayName": "Historian",
+ "riskScore": 90,
+ "criticality": "Normal",
+ "firstSeen": "2020-05-13T06:32:25Z",
+ "lastSeen": "2020-05-13T06:32:25Z",
+ "lastUpdated": "2020-05-13T06:32:25Z",
+ "operatingSystem": {
+ "version": "10\\1604",
+ "platform": "Windows"
+ },
+ "purdueLevel": "ProcessControl",
+ "authorizedState": "Authorized",
+ "programmingState": "NotProgrammingDevice",
+ "nics": [
+ {
+ "lastSeen": "2020-05-13T06:32:25Z",
+ "ipv4Address": "10.168.140.1",
+ "macAddress": "34-E1-2D-77-80-D0",
+ "macCertainty": "Certain",
+ "vlans": [
+ "name(1)->2",
+ "3",
+ "another_name(4)"
+ ]
+ }
+ ],
+ "deviceStatus": "Active"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-04-27T21:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Locations/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Locations/Get.json
new file mode 100644
index 000000000000..22ef851e6e37
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Locations/Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "iotDefenderLocation": "eastus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "eastus",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus",
+ "type": "Microsoft.IoTSecurity/locations",
+ "properties": {},
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-04-27T21:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Locations/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Locations/List.json
new file mode 100644
index 000000000000..008cf96b1af6
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Locations/List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01-preview",
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "eastus",
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus",
+ "type": "Microsoft.IoTSecurity/locations",
+ "properties": {},
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2020-04-27T21:53:29.0928001Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/Get.json
index cc065e620092..7448efebc105 100644
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/Get.json
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/Get.json
@@ -19,7 +19,8 @@
"tiAutomaticUpdates": true,
"tiStatus": "Ok",
"tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name"
+ "zone": "Zone Name",
+ "sensorType": "Ot"
},
"systemData": {
"createdBy": "string",
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/List.json
index 314ba6bd301a..df5b64d56593 100644
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/List.json
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/List.json
@@ -20,7 +20,8 @@
"tiAutomaticUpdates": true,
"tiStatus": "Ok",
"tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name"
+ "zone": "Zone Name",
+ "sensorType": "Ot"
},
"systemData": {
"createdBy": "string",
@@ -44,7 +45,8 @@
"tiAutomaticUpdates": true,
"tiStatus": "Ok",
"tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name"
+ "zone": "Zone Name",
+ "sensorType": "Ot"
},
"systemData": {
"createdBy": "string",
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/Put.json
index e2387bf4655c..93034b813e1b 100644
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/Put.json
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/examples/Sensors/Put.json
@@ -6,7 +6,8 @@
"sensorModel": {
"properties": {
"tiAutomaticUpdates": true,
- "zone": "Zone Name"
+ "zone": "Zone Name",
+ "sensorType": "Ot"
}
}
},
@@ -25,7 +26,8 @@
"tiAutomaticUpdates": true,
"tiStatus": "Ok",
"tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name"
+ "zone": "Zone Name",
+ "sensorType": "Ot"
}
}
},
@@ -43,7 +45,8 @@
"tiAutomaticUpdates": true,
"tiStatus": "Ok",
"tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name"
+ "zone": "Zone Name",
+ "sensorType": "Ot"
},
"systemData": {
"createdBy": "string",
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/locations.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/locations.json
new file mode 100644
index 000000000000..2eccab51b6a4
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/locations.json
@@ -0,0 +1,164 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Defender for IoT",
+ "description": "API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider",
+ "version": "2021-02-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations": {
+ "get": {
+ "x-ms-examples": {
+ "List locations": {
+ "$ref": "./examples/Locations/List.json"
+ }
+ },
+ "tags": [
+ "Locations"
+ ],
+ "description": "Lists Defender for IoT locations associated with the given subscription.",
+ "operationId": "Locations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LocationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}": {
+ "get": {
+ "x-ms-examples": {
+ "Get location": {
+ "$ref": "./examples/Locations/Get.json"
+ }
+ },
+ "tags": [
+ "Locations"
+ ],
+ "operationId": "Locations_Get",
+ "description": "Get a Defender for IoT location associated with the given subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LocationModel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LocationList": {
+ "description": "List of Defender for IoT locations",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List data",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocationModel"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LocationModel": {
+ "type": "object",
+ "description": "IoT Defender location",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "IoT Defender location properties",
+ "$ref": "#/definitions/LocationProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "LocationProperties": {
+ "type": "object",
+ "description": "Defender for IoT location properties",
+ "properties": {}
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/sensors.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/sensors.json
index 9c78f9cc1865..19a11fa8f7c8 100644
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/sensors.json
+++ b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-02-01-preview/sensors.json
@@ -461,6 +461,27 @@
"type": "string",
"description": "Zone of the IoT sensor",
"example": "A12"
+ },
+ "sensorType": {
+ "description": "Type of sensor",
+ "example": "Ot",
+ "type": "string",
+ "enum": [
+ "Ot",
+ "Enterprise"
+ ],
+ "x-ms-enum": {
+ "name": "sensorType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Ot"
+ },
+ {
+ "value": "Enterprise"
+ }
+ ]
+ }
}
}
},
diff --git a/specification/iotsecurity/resource-manager/common/1.0/types.json b/specification/iotsecurity/resource-manager/common/1.0/types.json
new file mode 100644
index 000000000000..866704943a76
--- /dev/null
+++ b/specification/iotsecurity/resource-manager/common/1.0/types.json
@@ -0,0 +1,19 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "1.0",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {},
+ "parameters": {
+ "IotDefenderLocation": {
+ "name": "iotDefenderLocation",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Defender for IoT location",
+ "x-ms-parameter-location": "client"
+ }
+ }
+}
diff --git a/specification/iotsecurity/resource-manager/readme.azureresourceschema.md b/specification/iotsecurity/resource-manager/readme.azureresourceschema.md
index 4d94f6202df6..018ebc33bf30 100644
--- a/specification/iotsecurity/resource-manager/readme.azureresourceschema.md
+++ b/specification/iotsecurity/resource-manager/readme.azureresourceschema.md
@@ -24,5 +24,8 @@ input-file:
- Microsoft.IoTSecurity/preview/2021-02-01-preview/sites.json
- Microsoft.IoTSecurity/preview/2021-02-01-preview/sensors.json
- Microsoft.IoTSecurity/preview/2021-02-01-preview/onPremiseSensors.json
+ - Microsoft.IoTSecurity/preview/2021-02-01-preview/locations.json
+ - Microsoft.IoTSecurity/preview/2021-02-01-preview/deviceGroups.json
+ - Microsoft.IoTSecurity/preview/2021-02-01-preview/devices.json
```
diff --git a/specification/iotsecurity/resource-manager/readme.md b/specification/iotsecurity/resource-manager/readme.md
index 1e9c2493da86..2c31d6faad9b 100644
--- a/specification/iotsecurity/resource-manager/readme.md
+++ b/specification/iotsecurity/resource-manager/readme.md
@@ -64,6 +64,9 @@ input-file:
- Microsoft.IoTSecurity/preview/2021-02-01-preview/sites.json
- Microsoft.IoTSecurity/preview/2021-02-01-preview/sensors.json
- Microsoft.IoTSecurity/preview/2021-02-01-preview/onPremiseSensors.json
+- Microsoft.IoTSecurity/preview/2021-02-01-preview/locations.json
+- Microsoft.IoTSecurity/preview/2021-02-01-preview/deviceGroups.json
+- Microsoft.IoTSecurity/preview/2021-02-01-preview/devices.json
```
---
diff --git a/specification/iotspaces/resource-manager/readme.go.md b/specification/iotspaces/resource-manager/readme.go.md
index 012dc608367f..e788836dee9b 100644
--- a/specification/iotspaces/resource-manager/readme.go.md
+++ b/specification/iotspaces/resource-manager/readme.go.md
@@ -5,7 +5,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: iotspaces
```
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json
index 6a7fd333b63f..5b6df4776f48 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json
@@ -66,11 +66,6 @@
"api-version": "7.2-preview"
},
"responses": {
- "200": {
- "body": {
- "value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9"
- }
- },
"202": {
"headers": {
"Retry-After": 5,
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json
index 4febb7f058a1..755ee97ead36 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json
@@ -97,12 +97,6 @@
}
}
},
- "200": {
- "description": "The response contains the confirmed Security Domain.",
- "schema": {
- "$ref": "#/definitions/SecurityDomainObject"
- }
- },
"default": {
"description": "Key Vault error response describing why the operation failed.",
"schema": {
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/RandomNumbers-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/RandomNumbers-example.json
new file mode 100644
index 000000000000..c241a1ed4987
--- /dev/null
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/RandomNumbers-example.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "vaultBaseUrl": "https://myhsm.managedhsm.azure.net/",
+ "api-version": "7.3-preview",
+ "parameters": {
+ "bytesLength": 4
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "MTIzNA"
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/export-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/export-example.json
index cfbf3a7b4112..7fb29483badc 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/export-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/export-example.json
@@ -5,7 +5,7 @@
"key-version": "4eb68492b5f6421e835d961ad2be3155",
"api-version": "7.3-preview",
"parameters": {
- "kek": {
+ "wrappingKey": {
"kty": "RSA",
"key_ops": [
"encrypt",
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/release-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/release-example.json
index 47b1ae507792..796aae0d7d0e 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/release-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/release-example.json
@@ -5,7 +5,7 @@
"key-version": "4eb68492b5f6421e835d961ad2be3155",
"api-version": "7.3-preview",
"parameters": {
- "env": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkdXQXkxNk5ieFJJQ3lCUzVKckJxRk5DdXdjS2YxYUVYbS1hUDVsUlJ4UEUiLCJqa3UiOiJodHRwOi8vbG9jYWxob3N0OjgwMjMva2V5cyJ9.eyJhYXMtZWhkIjoiZXlKclpYbHpJanBiZXlKbElqb2lRVkZCUWlJc0ltdGxlVjl2Y0hNaU9sc2laR1ZqY25sd2RDSXNJbVZ1WTNKNWNIUWlYU3dpYTJsa0lqb2lOVE16TmpReU5HTXRaV1kzWlMxaU1tRm1MVFU1WmprdE5HUXdPRGhtTURRMFpHVTFJaXdpYTNSNUlqb2lVbE5CSWl3aWJpSTZJbkJPYkhoWVNuRTNPSGRPUkVVd2FXMVNOa1JCWWs5alNrRXpUekp1UlZvNVdFaGtjMDVQTjB0b00xWlJRVTh5VWt0eFlqQk9iRXh4TVhwUFRVOTVZVlJPUW5rNWMzUTRjbG95TURWYU1EWTFjalY2YlRKa1FrSllkRkJUU21Sc1VtSm9WRXd0TlRCcWFFVXpiRUV4WjFVemVYcDJaR0o1U1Zob2NtMDNkWEJFVGtKemFXeFNlR1ZVUW1KUGNWOW1XSE5vT1dGMVVHeGxVM0pOWlZCR2JGbElkVmRNTjJacGNYWktiMHMyZUZSSVZFSmZUa2R1WjBWMlFrMTVPRGRxWlVsbExWbEJUbUYxWkRsRk5GYzFhWHBLZFVwNmJGOHhORkJFY1VWdWVGcFNTM0F5YW1WUGJsZEpTRXRVVm0wMWFsRmhiakZoTlVkdmJGWmxRV2szWlhoalNtRXlNaTFLZERSRWEwNHlWakZMTUZCZlR6YzJSME5ETjNCWlVYVlpTWEkxZFZWclExUmtWVVYxYmxKSWIyaFRWbTFHZVZGaldFSlVkVmxuUVdNMVJFZEpaVGQ1UjNSRFdtOW9WRjlsVmxGQ2NESldVU0lzSW5WelpTSTZJbVZ1WXlKOVhYMCIsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAyMy8iLCJzZ3gtbXJlbmNsYXZlIjoiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsInNneC1tcnNpZ25lciI6Ijg2Nzg4ZmU0MDQ0OGYyYTEyZTIwYmY4ZDVlN2ExYzMxMzliYzVmZGMxNDMyYjM3MGMxZGEzNDg5YWI2NDlhODUiLCJpcy1kZWJ1Z2dhYmxlIjp0cnVlLCJ0ZWUiOiJzZ3giLCJpYXQiOjE1ODc0MjUxNzMsImV4cCI6MTU4ODAyOTk3M30.CA9gO0kRMHt6e9xTKopwEnDt-Mc52oAAe6zicFwX3REZd5E0m3WzJuSYS8H9iKTGL1dfusflPx74C5xLTZiHe0D2YFHYoW3efEm3r55DwkpTbA6tbDjMY7OIC9XuC7prAf4nQ5hYRk0LATzwytYIZ-c-R08ZEt5CV5XqR5MuSDKWWslPm36BHD3l03VVNEEG4hC9KuCIZ2z9YK5ofGze-IY1J9x1EwnG-y_1RF6rDKENjOROOaOH9JvohHGIfK0FKVj8_7E6JxMTQMb7K-45GfE20tTVdCs4A4k3jXNrIRcGmSK5EMrB_LbHzk0PIc6sjl-VuPZVqGxhsaAyoH3cdA"
+ "target": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkdXQXkxNk5ieFJJQ3lCUzVKckJxRk5DdXdjS2YxYUVYbS1hUDVsUlJ4UEUiLCJqa3UiOiJodHRwOi8vbG9jYWxob3N0OjgwMjMva2V5cyJ9.eyJhYXMtZWhkIjoiZXlKclpYbHpJanBiZXlKbElqb2lRVkZCUWlJc0ltdGxlVjl2Y0hNaU9sc2laR1ZqY25sd2RDSXNJbVZ1WTNKNWNIUWlYU3dpYTJsa0lqb2lOVE16TmpReU5HTXRaV1kzWlMxaU1tRm1MVFU1WmprdE5HUXdPRGhtTURRMFpHVTFJaXdpYTNSNUlqb2lVbE5CSWl3aWJpSTZJbkJPYkhoWVNuRTNPSGRPUkVVd2FXMVNOa1JCWWs5alNrRXpUekp1UlZvNVdFaGtjMDVQTjB0b00xWlJRVTh5VWt0eFlqQk9iRXh4TVhwUFRVOTVZVlJPUW5rNWMzUTRjbG95TURWYU1EWTFjalY2YlRKa1FrSllkRkJUU21Sc1VtSm9WRXd0TlRCcWFFVXpiRUV4WjFVemVYcDJaR0o1U1Zob2NtMDNkWEJFVGtKemFXeFNlR1ZVUW1KUGNWOW1XSE5vT1dGMVVHeGxVM0pOWlZCR2JGbElkVmRNTjJacGNYWktiMHMyZUZSSVZFSmZUa2R1WjBWMlFrMTVPRGRxWlVsbExWbEJUbUYxWkRsRk5GYzFhWHBLZFVwNmJGOHhORkJFY1VWdWVGcFNTM0F5YW1WUGJsZEpTRXRVVm0wMWFsRmhiakZoTlVkdmJGWmxRV2szWlhoalNtRXlNaTFLZERSRWEwNHlWakZMTUZCZlR6YzJSME5ETjNCWlVYVlpTWEkxZFZWclExUmtWVVYxYmxKSWIyaFRWbTFHZVZGaldFSlVkVmxuUVdNMVJFZEpaVGQ1UjNSRFdtOW9WRjlsVmxGQ2NESldVU0lzSW5WelpTSTZJbVZ1WXlKOVhYMCIsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAyMy8iLCJzZ3gtbXJlbmNsYXZlIjoiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsInNneC1tcnNpZ25lciI6Ijg2Nzg4ZmU0MDQ0OGYyYTEyZTIwYmY4ZDVlN2ExYzMxMzliYzVmZGMxNDMyYjM3MGMxZGEzNDg5YWI2NDlhODUiLCJpcy1kZWJ1Z2dhYmxlIjp0cnVlLCJ0ZWUiOiJzZ3giLCJpYXQiOjE1ODc0MjUxNzMsImV4cCI6MTU4ODAyOTk3M30.CA9gO0kRMHt6e9xTKopwEnDt-Mc52oAAe6zicFwX3REZd5E0m3WzJuSYS8H9iKTGL1dfusflPx74C5xLTZiHe0D2YFHYoW3efEm3r55DwkpTbA6tbDjMY7OIC9XuC7prAf4nQ5hYRk0LATzwytYIZ-c-R08ZEt5CV5XqR5MuSDKWWslPm36BHD3l03VVNEEG4hC9KuCIZ2z9YK5ofGze-IY1J9x1EwnG-y_1RF6rDKENjOROOaOH9JvohHGIfK0FKVj8_7E6JxMTQMb7K-45GfE20tTVdCs4A4k3jXNrIRcGmSK5EMrB_LbHzk0PIc6sjl-VuPZVqGxhsaAyoH3cdA"
}
},
"responses": {
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json
index 3f78158d4491..d0d853a1abb1 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json
@@ -66,11 +66,6 @@
"api-version": "7.3-preview"
},
"responses": {
- "200": {
- "body": {
- "value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9"
- }
- },
"202": {
"headers": {
"Retry-After": 5,
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json
index 73c09f36125d..2ce0bd794955 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json
@@ -1088,15 +1088,84 @@
}
}
}
+ },
+ "/randomnumbers": {
+ "post": {
+ "tags": [
+ "RandomNumbers"
+ ],
+ "operationId": "getRandomNumbers",
+ "summary": "Get the requested number of bytes containing random values.",
+ "description": "Get the requested number of bytes containing random values from a managed HSM.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/GetRandomNumbersRequest"
+ },
+ "description": "The request object to get random numbers."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The bytes encoded as a base64url string.",
+ "schema": {
+ "$ref": "#/definitions/GetRandomNumbersResponse"
+ }
+ },
+ "default": {
+ "description": "Key Vault error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/KeyVaultError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetRandomNumbers": {
+ "$ref": "./examples/RandomNumbers-example.json"
+ }
+ }
+ }
}
},
"definitions": {
+ "GetRandomNumbersRequest": {
+ "properties": {
+ "bytesLength": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 128,
+ "description": "The requested number of random bytes."
+ }
+ },
+ "description": "The get random numbers request object.",
+ "required": [
+ "bytesLength"
+ ]
+ },
+ "GetRandomNumbersResponse": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "format": "base64url",
+ "description": "The bytes encoded as a base64url string."
+ }
+ },
+ "description": "The get random numbers response object containing the bytes."
+ },
"KeyReleasePolicy": {
"properties": {
"contentType": {
"description": "Content type and version of key release policy",
"type": "string",
- "default": "application/json; charset=utf-8; version=1.0"
+ "default": "application/json; charset=utf-8"
},
"data": {
"description": "Blob encoding the policy rules under which the key can be released.",
@@ -1352,6 +1421,7 @@
},
"release_policy": {
"$ref": "#/definitions/KeyReleasePolicy",
+ "x-nullable": true,
"description": "The policy rules under which the key can be exported."
}
},
@@ -1562,6 +1632,7 @@
},
"release_policy": {
"$ref": "#/definitions/KeyReleasePolicy",
+ "x-nullable": true,
"description": "The policy rules under which the key can be exported."
}
},
@@ -1594,6 +1665,7 @@
},
"release_policy": {
"$ref": "#/definitions/KeyReleasePolicy",
+ "x-nullable": true,
"description": "The policy rules under which the key can be exported."
}
},
@@ -1604,28 +1676,60 @@
},
"KeyExportParameters": {
"properties": {
- "kek": {
+ "wrappingKey": {
"$ref": "#/definitions/JsonWebKey",
"description": "The export key encryption Json web key. This key MUST be a RSA key that supports encryption."
+ },
+ "wrappingKid": {
+ "type": "string",
+ "description": "The export key encryption key identifier. This key MUST be a RSA key that supports encryption."
+ },
+ "enc": {
+ "type": "string",
+ "minLength": 1,
+ "description": "The encryption algorithm to use to protected the exported key material",
+ "enum": [
+ "CKM_RSA_AES_KEY_WRAP",
+ "RSA_AES_KEY_WRAP_256",
+ "RSA_AES_KEY_WRAP_384"
+ ],
+ "x-ms-enum": {
+ "name": "KeyEncryptionAlgorithm",
+ "modelAsString": true
+ }
}
},
- "description": "The export key parameters.",
- "required": [
- "kek"
- ]
+ "description": "The export key parameters."
},
"KeyReleaseParameters": {
"properties": {
- "env": {
- "x-ms-client-name": "environment",
+ "target": {
"type": "string",
"minLength": 1,
- "description": "The target environment assertion."
+ "description": "The attestation assertion for the target of the key release."
+ },
+ "nonce": {
+ "type": "string",
+ "description": "A client provided nonce for freshness."
+ },
+ "enc": {
+ "type": "string",
+ "minLength": 1,
+ "description": "The encryption algorithm to use to protected the exported key material",
+ "enum": [
+ "CKM_RSA_AES_KEY_WRAP",
+ "RSA_AES_KEY_WRAP_256",
+ "RSA_AES_KEY_WRAP_384"
+ ],
+ "x-ms-enum": {
+ "name": "KeyEncryptionAlgorithm",
+ "modelAsString": true
+ }
}
},
"description": "The release key parameters.",
"required": [
- "env"
+ "target"
]
},
"KeyOperationsParameters": {
@@ -1846,6 +1950,7 @@
},
"release_policy": {
"$ref": "#/definitions/KeyReleasePolicy",
+ "x-nullable": true,
"description": "The policy rules under which the key can be exported."
}
},
@@ -1959,12 +2064,11 @@
"properties": {
"value": {
"type": "string",
- "format": "base64url",
"readOnly": true,
- "description": "The blob containing the released key."
+ "description": "A signed object containing the released key."
}
},
- "description": "The release result, containing the released key blob."
+ "description": "The release result, containing the released key."
}
},
"parameters": {
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json
index ac6af6edaaa0..a9a6508bb32e 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json
@@ -97,12 +97,6 @@
}
}
},
- "200": {
- "description": "The response contains the confirmed Security Domain.",
- "schema": {
- "$ref": "#/definitions/SecurityDomainObject"
- }
- },
"default": {
"description": "Key Vault error response describing why the operation failed.",
"schema": {
diff --git a/specification/keyvault/data-plane/readme.go.md b/specification/keyvault/data-plane/readme.go.md
index 051165621376..44aee8a9b267 100644
--- a/specification/keyvault/data-plane/readme.go.md
+++ b/specification/keyvault/data-plane/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: keyvault
clear-output-folder: true
```
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVault.json
index 76976744c720..1273e559bbe0 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVault.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVault.json
@@ -78,6 +78,14 @@
"type": "Microsoft.KeyVault/vaults",
"location": "westus",
"tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
"properties": {
"sku": {
"family": "A",
@@ -181,6 +189,14 @@
"type": "Microsoft.KeyVault/vaults",
"location": "westus",
"tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
"properties": {
"sku": {
"family": "A",
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json
index 9e6c943f6abb..9c11ace919e7 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json
@@ -43,6 +43,14 @@
"type": "Microsoft.KeyVault/vaults",
"location": "westus",
"tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
"properties": {
"sku": {
"family": "A",
@@ -80,6 +88,14 @@
"type": "Microsoft.KeyVault/vaults",
"location": "westus",
"tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
"properties": {
"sku": {
"family": "A",
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getVault.json
index 6d61831d11d2..2ad346522a06 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getVault.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getVault.json
@@ -13,6 +13,14 @@
"type": "Microsoft.KeyVault/vaults",
"location": "westus",
"tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
"properties": {
"sku": {
"family": "A",
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultByResourceGroup.json
index b68471d72365..aa68a7be784d 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultByResourceGroup.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultByResourceGroup.json
@@ -15,6 +15,14 @@
"type": "Microsoft.KeyVault/vaults",
"location": "westus",
"tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
"properties": {
"sku": {
"family": "A",
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json
index 47f4f46bf374..d09aa1ceff02 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json
@@ -14,6 +14,14 @@
"type": "Microsoft.KeyVault/vaults",
"location": "westus",
"tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
"properties": {
"sku": {
"family": "A",
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateVault.json
index a30f3eea92bb..3762bc883cd7 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateVault.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateVault.json
@@ -77,6 +77,14 @@
"type": "Microsoft.KeyVault/vaults",
"location": "westus",
"tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T13:00:00.0000000Z"
+ },
"properties": {
"sku": {
"family": "A",
@@ -180,6 +188,14 @@
"type": "Microsoft.KeyVault/vaults",
"location": "westus",
"tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T13:00:00.0000000Z"
+ },
"properties": {
"sku": {
"family": "A",
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json
index 5157b3045c0d..877528deed41 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json
@@ -720,6 +720,7 @@
"name": "api-version",
"in": "query",
"required": true,
+ "x-ms-api-version": false,
"type": "string",
"enum": [
"2015-11-01"
@@ -1532,6 +1533,10 @@
},
"description": "Tags assigned to the key vault resource."
},
+ "systemData": {
+ "description": "System metadata for the key vault.",
+ "$ref": "#/definitions/SystemData"
+ },
"properties": {
"$ref": "#/definitions/VaultProperties",
"description": "Properties of the vault"
@@ -1939,6 +1944,53 @@
}
},
"description": "Properties of a private link resource."
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of key vault resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created key vault resource."
+ },
+ "createdByType": {
+ "description": "The type of identity that created key vault resource.",
+ "$ref": "#/definitions/IdentityType"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of key vault resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified key vault resource."
+ },
+ "lastModifiedByType": {
+ "description": "The type of identity that last modified key vault resource.",
+ "$ref": "#/definitions/IdentityType"
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of key vault resource last modification (UTC)."
+ }
+ }
+ },
+ "IdentityType": {
+ "type": "string",
+ "description": "The type of identity.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "identityType",
+ "modelAsString": true
+ }
}
},
"parameters": {
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/common.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/common.json
new file mode 100644
index 000000000000..62e88433aed2
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/common.json
@@ -0,0 +1,91 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-04-01-preview",
+ "title": "KeyVaultManagementClient",
+ "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault."
+ },
+ "paths": {},
+ "definitions": {
+ "CloudError": {
+ "description": "An error response from Key Vault resource provider",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "description": "An error response from Key Vault resource provider",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code. This is a mnemonic that can be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "User friendly error message. The message is typically localized and may vary with service version."
+ }
+ },
+ "x-ms-external": true
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the key vault resource.",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the key vault resource."
+ },
+ "createdByType": {
+ "description": "The type of identity that created the key vault resource.",
+ "$ref": "#/definitions/IdentityType"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of the key vault resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the key vault resource."
+ },
+ "lastModifiedByType": {
+ "description": "The type of identity that last modified the key vault resource.",
+ "$ref": "#/definitions/IdentityType"
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of the key vault resource last modification (UTC)."
+ }
+ }
+ },
+ "IdentityType": {
+ "type": "string",
+ "description": "The type of identity.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "identityType",
+ "modelAsString": true
+ }
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/DeletedManagedHsm_Get.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/DeletedManagedHsm_Get.json
new file mode 100644
index 000000000000..23864badaaa4
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/DeletedManagedHsm_Get.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "name": "hsm1",
+ "location": "westus",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedManagedHSMs/hsm1",
+ "name": "vault-agile-drawer-6404",
+ "type": "Microsoft.KeyVault/deletedManagedHSMs",
+ "properties": {
+ "mhsmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1",
+ "location": "westus",
+ "deletionDate": "2021-04-01T00:00:59Z",
+ "scheduledPurgeDate": "2021-04-01T00:00:59Z",
+ "purgeProtectionEnabled": true,
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "production"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/DeletedManagedHsm_List.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/DeletedManagedHsm_List.json
new file mode 100644
index 000000000000..3eb8ad51f8fe
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/DeletedManagedHsm_List.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedManagedHSMs/hsm1",
+ "name": "vault-agile-drawer-6404",
+ "type": "Microsoft.KeyVault/deletedManagedHSMs",
+ "properties": {
+ "mhsmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1",
+ "location": "westus",
+ "deletionDate": "2021-04-01T00:00:59Z",
+ "scheduledPurgeDate": "2021-04-01T00:00:59Z",
+ "purgeProtectionEnabled": true,
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "production"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedManagedHSMs/hsm2",
+ "name": "vault-agile-drawer-6404",
+ "type": "Microsoft.KeyVault/deletedManagedHSMs",
+ "properties": {
+ "mhsmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm2",
+ "location": "westus",
+ "deletionDate": "2021-04-01T00:00:59Z",
+ "scheduledPurgeDate": "2021-04-01T00:00:59Z",
+ "purgeProtectionEnabled": true,
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "production"
+ }
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/deletedManagedHSMs?api-version=2021-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng=="
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/DeletedManagedHsm_Purge.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/DeletedManagedHsm_Purge.json
new file mode 100644
index 000000000000..ea4b3fe0d2da
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/DeletedManagedHsm_Purge.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "name": "hsm1",
+ "location": "westus",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json
new file mode 100644
index 000000000000..2c5b075c07c1
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "resourceGroupName": "hsm-group",
+ "name": "hsm1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true
+ },
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "dogfood"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true,
+ "hsmUri": null,
+ "provisioningState": "Provisioning",
+ "statusMessage": "Allocating hardware"
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1",
+ "name": "hsm1",
+ "type": "Microsoft.KeyVault/managedHSMs",
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "dogfood"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true,
+ "hsmUri": "https://westus.hsm1.managedhsm.azure.net",
+ "provisioningState": "Succeeded",
+ "statusMessage": "ManagedHsm is functional."
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1",
+ "name": "hsm1",
+ "type": "Microsoft.KeyVault/managedHSMs",
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "dogfood"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_Delete.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_Delete.json
new file mode 100644
index 000000000000..5e05d05cfee1
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceGroupName": "hsm-group",
+ "name": "hsm1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_Get.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_Get.json
new file mode 100644
index 000000000000..4ead0b217567
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "resourceGroupName": "hsm-group",
+ "name": "hsm1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true,
+ "hsmUri": "https://westus.hsm1.managedhsm.azure.net",
+ "provisioningState": "Succeeded",
+ "statusMessage": "ManagedHsm is functional."
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1",
+ "name": "hsm1",
+ "type": "Microsoft.KeyVault/managedHSMs",
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "dogfood"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": "60",
+ "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1?api-version=2021-04-01-preview&kv-operation=abJjb2RkIjoiAGVsZXRlTWFuYWdlZEhzbUFzeW5jYm9"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json
new file mode 100644
index 000000000000..4ba77550a22a
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "resourceGroupName": "hsm-group",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true,
+ "hsmUri": "https://westus.hsm1.managedhsm.azure.net",
+ "provisioningState": "Succeeded",
+ "statusMessage": "ManagedHsm is functional."
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1",
+ "name": "hsm1",
+ "type": "Microsoft.KeyVault/managedHSMs",
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "dogfood"
+ }
+ },
+ {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true,
+ "hsmUri": "https://westus.hsm2.managedhsm.azure.net",
+ "provisioningState": "Succeeded",
+ "statusMessage": "ManagedHsm is functional."
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm2",
+ "name": "hsm2",
+ "type": "Microsoft.KeyVault/managedHSMs",
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "production"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs?api-version=2021-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng=="
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_ListBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_ListBySubscription.json
new file mode 100644
index 000000000000..393b9f297487
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_ListBySubscription.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true,
+ "hsmUri": "https://westus.hsm1.managedhsm.azure.net",
+ "provisioningState": "Succeeded",
+ "statusMessage": "ManagedHsm is functional."
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1",
+ "name": "hsm1",
+ "type": "Microsoft.KeyVault/managedHSMs",
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "dogfood"
+ }
+ },
+ {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true,
+ "hsmUri": "https://westus.hsm2.managedhsm.azure.net",
+ "provisioningState": "Succeeded",
+ "statusMessage": "ManagedHsm is functional."
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm2",
+ "name": "hsm2",
+ "type": "Microsoft.KeyVault/managedHSMs",
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "production"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/managedHSMs?api-version=2021-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng=="
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_ListPrivateEndpointConnectionsByResource.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_ListPrivateEndpointConnectionsByResource.json
new file mode 100644
index 000000000000..86fbaad62cea
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_ListPrivateEndpointConnectionsByResource.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "name": "sample-mhsm",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec1",
+ "name": "sample-pec1",
+ "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections",
+ "etag": "",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe1"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "This was automatically approved by user1234@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec2",
+ "name": "sample-pec2",
+ "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections",
+ "etag": "",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "This was automatically approved by user1234@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_Update.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_Update.json
new file mode 100644
index 000000000000..defc35777707
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_Update.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "resourceGroupName": "hsm-group",
+ "name": "hsm1",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "dogfood",
+ "Slice": "A"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true,
+ "hsmUri": "https://westus.hsm1.managedhsm.azure.net",
+ "provisioningState": "Succeeded",
+ "statusMessage": "ManagedHsm is functional."
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1",
+ "name": "hsm1",
+ "type": "Microsoft.KeyVault/managedHSMs",
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "dogfood",
+ "Slice": "A"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "initialAdminObjectIds": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "enableSoftDelete": true,
+ "softDeleteRetentionInDays": 90,
+ "enablePurgeProtection": true,
+ "hsmUri": "https://westus.hsm1.managedhsm.azure.net",
+ "provisioningState": "Updating",
+ "statusMessage": "ManagedHsm is updating."
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1",
+ "name": "hsm1",
+ "type": "Microsoft.KeyVault/managedHSMs",
+ "location": "westus",
+ "sku": {
+ "family": "B",
+ "name": "Standard_B1"
+ },
+ "tags": {
+ "Dept": "hsm",
+ "Environment": "dogfood",
+ "Slice": "A"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_deletePrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_deletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..c174600e7542
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_deletePrivateEndpointConnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "name": "sample-mhsm",
+ "privateEndpointConnectionName": "sample-pec",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-vault/privateEndpointConnections/sample-pec",
+ "name": "sample-pec",
+ "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Disconnected"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": "60",
+ "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec?operationid=25334578"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_getPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_getPrivateEndpointConnection.json
new file mode 100644
index 000000000000..077fc6d4b967
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_getPrivateEndpointConnection.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "name": "sample-mhsm",
+ "privateEndpointConnectionName": "sample-pec",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec",
+ "name": "sample-pec",
+ "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections",
+ "etag": "",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "This was automatically approved by user1234@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_listPrivateLinkResources.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_listPrivateLinkResources.json
new file mode 100644
index 000000000000..fca5d6991e3d
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_listPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "name": "sample-mhsm",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateLinkResources/managedhsm",
+ "name": "managedhsm",
+ "type": "Microsoft.KeyVault/managedhsms/privateLinkResources",
+ "properties": {
+ "groupId": "managedhsms",
+ "requiredMembers": [
+ "default"
+ ],
+ "requiredZoneNames": [
+ "privatelink.managedhsm.azure.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_putPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_putPrivateEndpointConnection.json
new file mode 100644
index 000000000000..e77cf51673bd
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/ManagedHsm_putPrivateEndpointConnection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "name": "sample-mhsm",
+ "privateEndpointConnectionName": "sample-pec",
+ "api-version": "2021-04-01-preview",
+ "properties": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "My name is Joe and I'm approving this."
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec",
+ "name": "sample-pec",
+ "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "My name is Joe and I'm approving this.",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/checkVaultNameAvailability.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/checkVaultNameAvailability.json
new file mode 100644
index 000000000000..594d98546dc1
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/checkVaultNameAvailability.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview",
+ "vaultName": {
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/createSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/createSecret.json
new file mode 100644
index 000000000000..503196790e05
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/createSecret.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "secretName": "secret-name",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "properties": {
+ "value": "secret-value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514938738,
+ "updated": 1514938738
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https:/sample-vault.vault.azure.net/secrets/secret-name/baf6de32c4774c7c81345f6476cf90a4"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514938738,
+ "updated": 1514938738
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https:/sample-vault.vault.azure.net/secrets/secret-name/baf6de32c4774c7c81345f6476cf90a4"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/createVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/createVault.json
new file mode 100644
index 000000000000..45db7c427752
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/createVault.json
@@ -0,0 +1,255 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-resource-group",
+ "vaultName": "sample-vault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }
+ ],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
+ "properties": {
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }
+ ],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true,
+ "vaultUri": "https://sample-vault.vault.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
+ "properties": {
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }
+ ],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true,
+ "vaultUri": "https://sample-vault.vault.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ },
+ "409": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/createVaultWithNetworkAcls.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/createVaultWithNetworkAcls.json
new file mode 100644
index 000000000000..1731eb6745c1
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/createVaultWithNetworkAcls.json
@@ -0,0 +1,148 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-resource-group",
+ "vaultName": "sample-vault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "networkAcls": {
+ "defaultAction": "Deny",
+ "bypass": "AzureServices",
+ "ipRules": [
+ {
+ "value": "124.56.78.91"
+ },
+ {
+ "value": "'10.91.4.0/24'"
+ }
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
+ "properties": {
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "networkAcls": {
+ "defaultAction": "Deny",
+ "bypass": "AzureServices",
+ "ipRules": [
+ {
+ "value": "124.56.78.91/32"
+ },
+ {
+ "value": "'10.91.4.0/24'"
+ }
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.network/virtualnetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true,
+ "vaultUri": "https://sample-vault.vault.azure.net"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
+ "properties": {
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "networkAcls": {
+ "defaultAction": "Deny",
+ "bypass": "AzureServices",
+ "ipRules": [
+ {
+ "value": "124.56.78.91/32"
+ },
+ {
+ "value": "'10.91.4.0/24'"
+ }
+ ],
+ "virtualNetworkRules": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.network/virtualnetworks/test-vnet/subnets/subnet1"
+ }
+ ]
+ },
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true,
+ "vaultUri": "https://sample-vault.vault.azure.net"
+ }
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ },
+ "409": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/deletePrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/deletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..2e927897cf70
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/deletePrivateEndpointConnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "privateEndpointConnectionName": "sample-pec",
+ "api-version": "2018-02-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec",
+ "name": "sample-pec",
+ "type": "Microsoft.KeyVault/vaults/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Disconnected"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Retry-After": "60",
+ "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec?operationid=25334578"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/deleteVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/deleteVault.json
new file mode 100644
index 000000000000..c33aa9dbd5de
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/deleteVault.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-resource-group",
+ "vaultName": "sample-vault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {}
+ },
+ "204": {
+ "headers": {}
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getDeletedVault.json
new file mode 100644
index 000000000000..8cc5b4bb48a5
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getDeletedVault.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "vaultName": "sample-vault",
+ "location": "westus",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedVaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/deletedVaults",
+ "properties": {
+ "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "location": "westus",
+ "tags": {},
+ "deletionDate": "2017-01-01T00:00:59Z",
+ "scheduledPurgeDate": "2017-04-01T00:00:59Z",
+ "purgeProtectionEnabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getPrivateEndpointConnection.json
new file mode 100644
index 000000000000..287caee88a94
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getPrivateEndpointConnection.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "privateEndpointConnectionName": "sample-pec",
+ "api-version": "2018-02-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec",
+ "name": "sample-pec",
+ "type": "Microsoft.KeyVault/vaults/privateEndpointConnections",
+ "etag": "",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "This was automatically approved by user1234@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getSecret.json
new file mode 100644
index 000000000000..4a5f1a1d97b8
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getSecret.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "secretName": "secret-name",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514940950,
+ "updated": 1514940950
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/77445834f7de41bab81d0723bf996860"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getVault.json
new file mode 100644
index 000000000000..6bf7d8e8bd99
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/getVault.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-resource-group",
+ "vaultName": "sample-vault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
+ "properties": {
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }
+ ],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true,
+ "vaultUri": "https://sample-vault.vault.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listDeletedVaults.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listDeletedVaults.json
new file mode 100644
index 000000000000..a29a2823f8f6
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listDeletedVaults.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "$top": 1,
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedVaults/sample-vault",
+ "name": "vault-agile-drawer-6404",
+ "type": "Microsoft.KeyVault/deletedVaults",
+ "properties": {
+ "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "location": "westus",
+ "tags": {},
+ "deletionDate": "2017-01-01T00:00:59Z",
+ "scheduledPurgeDate": "2017-04-01T00:00:59Z",
+ "purgeProtectionEnabled": true
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/deletedVaults?api-version=2021-04-01-preview&%24skiptoken=HY3RaoMwAEX%2fRcbeYhJrnRXKYNWOuqpME0sfNcYui0Yxade19N8ne7hcDlzOvVuKX81eKKmt4G4dooLQwgqsL2NGHUDYV6o68Z4rY1e388RtNvRQn2vNJjEaMSgNvcbneMUcsKg8BFwft8DndQ0w9hu2QOiFLRs4TsNFNHzSMBFsGvTQGvuD%2f5bVuTOw4R03vPkH%2fVqNAlzm5SxfOwh7ACOA8POTlvPjILlaU1ke8jImOc23JCppQVfZnna0DXc4ISc3vSVuRo5zJE6%2bj25C3vwk2v2kEV2mMn7PyOc1DbtNGkonnzuLym1G400uI5QRZj0efw%3d%3d"
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listOperations.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listOperations.json
new file mode 100644
index 000000000000..981caca177de
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listOperations.json
@@ -0,0 +1,302 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.KeyVault/vaults/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault",
+ "operation": "View Key Vault",
+ "description": "View the properties of a key vault"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault",
+ "operation": "Update Key Vault",
+ "description": "Create a new key vault or update the properties of an existing key vault"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/delete",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault",
+ "operation": "Delete Key Vault",
+ "description": "Delete a key vault"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/deploy/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault",
+ "operation": "Use Vault for Azure Deployments",
+ "description": "Enables access to secrets in a key vault when deploying Azure resources"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/secrets/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Secret",
+ "operation": "View Secret Properties",
+ "description": "View the properties of a secret, but not its value"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/secrets/write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Secret",
+ "operation": "Update Secret",
+ "description": "Create a new secret or update the value of an existing secret"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/vaults/accessPolicies/write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Access Policy",
+ "operation": "Update Access Policy",
+ "description": "Update an existing access policy by merging or replacing, or add a new access policy to a vault."
+ },
+ "isDataAction": false
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault Log Definition",
+ "operation": "Read log definition",
+ "description": "Gets the available logs for a key vault"
+ },
+ "isDataAction": false,
+ "properties": {
+ "serviceSpecification": {
+ "logSpecifications": [
+ {
+ "name": "AuditEvent",
+ "displayName": "Audit Logs",
+ "blobDuration": "PT1H"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/diagnosticSettings/Read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault Diagnostic Settings",
+ "operation": "Read diagnostic setting",
+ "description": "Gets the diagnostic setting for the resource"
+ },
+ "isDataAction": false
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/diagnosticSettings/Write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault Diagnostic Settings",
+ "operation": "Write diagnostic setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/register/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Subscription",
+ "operation": "Register Subscription",
+ "description": "Registers a subscription"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/unregister/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Subscription",
+ "operation": "Unregister Subscription",
+ "description": "Unregisters a subscription"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/operations/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Operations",
+ "operation": "Available Key Vault Operations",
+ "description": "Lists operations available on Microsoft.KeyVault resource provider"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/checkNameAvailability/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Name Availability",
+ "operation": "Check Name Availability",
+ "description": "Checks that a key vault name is valid and is not in use"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/deletedVaults/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Soft Deleted Key Vault",
+ "operation": "View Soft Deleted Vaults",
+ "description": "View the properties of soft deleted key vaults"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/locations/deletedVaults/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Soft Deleted Key Vault",
+ "operation": "View Soft Deleted Key Vault",
+ "description": "View the properties of a soft deleted key vault"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/locations/deletedVaults/purge/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Soft Deleted Key Vault",
+ "operation": "Purge Soft Deleted Key Vault",
+ "description": "Purge a soft deleted key vault"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/locations/operationResults/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Long Run Operation Result",
+ "operation": "Check Operation Result",
+ "description": "Check the result of a long run operation"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/hsmPools/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "HSM pool",
+ "operation": "View HSM pool",
+ "description": "View the properties of an HSM pool"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/hsmPools/write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "HSM pool",
+ "operation": "Create or Update HSM pool",
+ "description": "Create a new HSM pool of update the properties of an existing HSM pool"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/hsmPools/delete",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "HSM pool",
+ "operation": "Delete HSM pool",
+ "description": "Delete an HSM pool"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/hsmPools/joinVault/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "HSM pool",
+ "operation": "Join KeyVault to HSM pool",
+ "description": "Join a key vault to an HSM pool"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/managedHSMs/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Managed HSM",
+ "operation": "View Managed HSM",
+ "description": "View the properties of a Managed HSM"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/managedHSMs/write",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Managed HSM",
+ "operation": "Create or Update Managed HSM",
+ "description": "Create a new Managed HSM of update the properties of an existing Managed HSM"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.KeyVault/managedHSMs/delete",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Managed HSM",
+ "operation": "Delete Managed HSM",
+ "description": "Delete a Managed HSM"
+ },
+ "isDataAction": false
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Key Vault Metric Definition",
+ "operation": "Read metric definition",
+ "description": "Gets the available metrics for a key vault"
+ },
+ "isDataAction": false,
+ "properties": {
+ "serviceSpecification": {}
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.KeyVault/locations/deleteVirtualNetworkOrSubnets/action",
+ "display": {
+ "provider": "Microsoft Key Vault",
+ "resource": "Location",
+ "operation": "Modify Network ACLs containing the deleted Vitual Network or Subnet ",
+ "description": "Notifies Microsoft.KeyVault that a virtual network or subnet is being deleted"
+ },
+ "isDataAction": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listPrivateEndpointConnection.json
new file mode 100644
index 000000000000..89716ba8f8fc
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listPrivateEndpointConnection.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec",
+ "name": "sample-pec",
+ "type": "Microsoft.KeyVault/vaults/privateEndpointConnections",
+ "etag": "",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "This was automatically approved by user1234@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec",
+ "name": "sample-pec",
+ "type": "Microsoft.KeyVault/vaults/privateEndpointConnections",
+ "etag": "",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "This was automatically approved by user1234@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listPrivateLinkResources.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listPrivateLinkResources.json
new file mode 100644
index 000000000000..f76786fad20e
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "api-version": "2018-02-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateLinkResources/vault",
+ "name": "vault",
+ "type": "Microsoft.KeyVault/vaults/privateLinkResources",
+ "properties": {
+ "groupId": "vault",
+ "requiredMembers": [
+ "default"
+ ],
+ "requiredZoneNames": [
+ "privatelink.vaultcore.azure.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listSecrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listSecrets.json
new file mode 100644
index 000000000000..4dcd8cd1ef66
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listSecrets.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514941476,
+ "updated": 1514941476
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/40af42fbc10047f8a756a73211492f56"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name2",
+ "name": "secret-name2",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514941476,
+ "updated": 1514941476
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name2",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name2/cd7264a6f56c44d1b594423c80609aae"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listVault.json
new file mode 100644
index 000000000000..3397baaa9f83
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listVault.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "$filter": "resourceType eq 'Microsoft.KeyVault/vaults'",
+ "$top": 1,
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2015-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {}
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?%24filter=resourceType+eq+%27Microsoft.KeyVault%2fvaults%27&%24top=4&api-version=2015-11-01&%24skiptoken=eyJuZXh0UGFydGl0aW9uS2V5IjoiMSE4IVEwTTJNVGMtIiwibmV4dFJvd0tleSI6IjEhMTMyIU5rUTRSVEU1UXpJelFUWXdORGd4UmpoRlFrSXhNVGhFUXpNd01EZEROVVJmVkVkT1RDMU5TVU5TVDFOUFJsUTZNa1ZMUlZsV1FWVk1WRG95UmxaQlZVeFVVeTFUVTFKSExVcEpUVG95UkZSRlUxUTZNa1JXUVZWTVZDMVhSVk5VVlZNLSJ9"
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listVaultByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listVaultByResourceGroup.json
new file mode 100644
index 000000000000..bef73365e25e
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listVaultByResourceGroup.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "$top": 1,
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
+ "properties": {
+ "sku": {
+ "family": "A",
+ "name": "premium"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }
+ ],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true,
+ "enableSoftDelete": true,
+ "vaultUri": "https://sample-vault.vault.azure.net/",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults?api-version=2021-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng=="
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listVaultBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listVaultBySubscription.json
new file mode 100644
index 000000000000..1a50419d3d8e
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/listVaultBySubscription.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "$top": 1,
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
+ "properties": {
+ "sku": {
+ "family": "A",
+ "name": "premium"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }
+ ],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true,
+ "enableSoftDelete": true,
+ "vaultUri": "https://sample-vault.vault.azure.net/",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?api-version=22021-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng=="
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/purgeDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/purgeDeletedVault.json
new file mode 100644
index 000000000000..1b3308e1ae9a
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/purgeDeletedVault.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "vaultName": "sample-vault",
+ "location": "westus",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {}
+ },
+ "202": {
+ "headers": {}
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/putPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/putPrivateEndpointConnection.json
new file mode 100644
index 000000000000..6f2437db6840
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/putPrivateEndpointConnection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "privateEndpointConnectionName": "sample-pec",
+ "api-version": "2018-02-14",
+ "properties": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "My name is Joe and I'm approving this."
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec",
+ "name": "sample-pec",
+ "type": "Microsoft.KeyVault/vaults/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "My name is Joe and I'm approving this.",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/updateAccessPoliciesAdd.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/updateAccessPoliciesAdd.json
new file mode 100644
index 000000000000..eb488048b3f3
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/updateAccessPoliciesAdd.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "operationKind": "add",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "properties": {
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt"
+ ],
+ "secrets": [
+ "get"
+ ],
+ "certificates": [
+ "get"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/",
+ "type": "Microsoft.KeyVault/vaults/accessPolicies",
+ "properties": {
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt"
+ ],
+ "secrets": [
+ "get"
+ ],
+ "certificates": [
+ "get"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/",
+ "type": "Microsoft.KeyVault/vaults/accessPolicies",
+ "properties": {
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt"
+ ],
+ "secrets": [
+ "get"
+ ],
+ "certificates": [
+ "get"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ },
+ "409": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/updateSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/updateSecret.json
new file mode 100644
index 000000000000..5f4851a59fdf
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/updateSecret.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-group",
+ "vaultName": "sample-vault",
+ "secretName": "secret-name",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "properties": {
+ "value": "secret-value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514940684,
+ "updated": 1514940698
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/b8c802f549764f2d97885d152f92ee9d"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name",
+ "name": "secret-name",
+ "type": "Microsoft.KeyVault/vaults/secrets",
+ "location": "westus",
+ "properties": {
+ "attributes": {
+ "enabled": true,
+ "created": 1514940684,
+ "updated": 1514940698
+ },
+ "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name",
+ "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/b8c802f549764f2d97885d152f92ee9d"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/updateVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/updateVault.json
new file mode 100644
index 000000000000..6bf150e3657b
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/examples/updateVault.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "resourceGroupName": "sample-resource-group",
+ "vaultName": "sample-vault",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-04-01-preview",
+ "parameters": {
+ "properties": {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }
+ ],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
+ "properties": {
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }
+ ],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true,
+ "vaultUri": "https://sample-vault.vault.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault",
+ "name": "sample-vault",
+ "type": "Microsoft.KeyVault/vaults",
+ "location": "westus",
+ "tags": {},
+ "systemData": {
+ "createdBy": "keyVaultUser1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T12:00:00.0000000Z",
+ "lastModifiedBy": "keyVaultUser2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-01T12:00:00.0000000Z"
+ },
+ "properties": {
+ "sku": {
+ "family": "A",
+ "name": "standard"
+ },
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "accessPolicies": [
+ {
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "objectId": "00000000-0000-0000-0000-000000000000",
+ "permissions": {
+ "keys": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "secrets": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "certificates": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge"
+ ]
+ }
+ }
+ ],
+ "enabledForDeployment": true,
+ "enabledForDiskEncryption": true,
+ "enabledForTemplateDeployment": true,
+ "vaultUri": "https://sample-vault.vault.azure.net",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ },
+ "409": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "",
+ "message": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/keyvault.json
new file mode 100644
index 000000000000..834aae356abb
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/keyvault.json
@@ -0,0 +1,2057 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-04-01-preview",
+ "title": "KeyVaultManagementClient",
+ "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}": {
+ "put": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a key vault in the specified subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the server belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "Name of the vault"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultCreateOrUpdateParameters"
+ },
+ "description": "Parameters to create or update the vault"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created or updated vault",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "200": {
+ "description": "Created or updated vault",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "400": {
+ "description": "Bad request.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "409": {
+ "description": "A conflict occurred to prevent the operation from completing.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a new vault or update an existing vault": {
+ "$ref": "./examples/createVault.json"
+ },
+ "Create or update a vault with network acls": {
+ "$ref": "./examples/createVaultWithNetworkAcls.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_Update",
+ "description": "Update a key vault in the specified subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the server belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "Name of the vault"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultPatchParameters"
+ },
+ "description": "Parameters to patch the vault"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Patched vault",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "200": {
+ "description": "Patched vault",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "400": {
+ "description": "Bad request.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "409": {
+ "description": "A conflict occurred to prevent the operation from completing.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update an existing vault": {
+ "$ref": "./examples/updateVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_Delete",
+ "description": "Deletes the specified Azure key vault.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vault to delete"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK Response."
+ },
+ "204": {
+ "description": "No Content."
+ },
+ "400": {
+ "description": "Bad request.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a vault": {
+ "$ref": "./examples/deleteVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_Get",
+ "description": "Gets the specified Azure key vault.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vault."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved vault",
+ "schema": {
+ "$ref": "#/definitions/Vault"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Retrieve a vault": {
+ "$ref": "./examples/getVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}": {
+ "put": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_UpdateAccessPolicy",
+ "description": "Update access policies in a key vault in the specified subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "Name of the vault"
+ },
+ {
+ "name": "operationKind",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "add",
+ "replace",
+ "remove"
+ ],
+ "x-ms-enum": {
+ "name": "AccessPolicyUpdateKind",
+ "modelAsString": false
+ },
+ "description": "Name of the operation"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultAccessPolicyParameters"
+ },
+ "description": "Access policy to merge into the vault"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The updated access policies",
+ "schema": {
+ "$ref": "#/definitions/VaultAccessPolicyParameters"
+ }
+ },
+ "200": {
+ "description": "The updated access policies",
+ "schema": {
+ "$ref": "#/definitions/VaultAccessPolicyParameters"
+ }
+ },
+ "400": {
+ "description": "Bad request.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "The specified resource does not exist.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "409": {
+ "description": "A conflict occurred to prevent the operation from completing.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Add an access policy, or update an access policy with new permissions": {
+ "$ref": "./examples/updateAccessPoliciesAdd.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_ListByResourceGroup",
+ "description": "The List operation gets information about the vaults associated with the subscription and within the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about all key vaults in the specified resource group.",
+ "schema": {
+ "$ref": "#/definitions/VaultListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List vaults in the specified resource group": {
+ "$ref": "./examples/listVaultByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_ListBySubscription",
+ "description": "The List operation gets information about the vaults associated with the subscription.",
+ "parameters": [
+ {
+ "name": "$top",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about all key vaults in the specified subscription.",
+ "schema": {
+ "$ref": "#/definitions/VaultListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List vaults in the specified subscription": {
+ "$ref": "./examples/listVaultBySubscription.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_ListDeleted",
+ "description": "Gets information about the deleted vaults in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved information about all deleted key vaults in a subscription.",
+ "schema": {
+ "$ref": "#/definitions/DeletedVaultListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List deleted vaults in the specified subscription": {
+ "$ref": "./examples/listDeletedVaults.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_GetDeleted",
+ "description": "Gets the deleted Azure key vault.",
+ "parameters": [
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vault."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the deleted vault."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved information about the deleted vault.",
+ "schema": {
+ "$ref": "#/definitions/DeletedVault"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Retrieve a deleted vault": {
+ "$ref": "./examples/getDeletedVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge": {
+ "post": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_PurgeDeleted",
+ "x-ms-long-running-operation": true,
+ "description": "Permanently deletes the specified vault. aka Purges the deleted Azure key vault.",
+ "parameters": [
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the soft-deleted vault."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the soft-deleted vault."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The vault is purged."
+ },
+ "202": {
+ "description": "Vault is being purged."
+ },
+ "400": {
+ "description": "Bad request.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "The specified resource does not exist.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ },
+ "x-ms-error-response": true
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Purge a deleted vault": {
+ "$ref": "./examples/purgeDeletedVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resources": {
+ "get": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_List",
+ "description": "The List operation gets information about the vaults associated with the subscription.",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "resourceType eq 'Microsoft.KeyVault/vaults'"
+ ],
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of results to return."
+ },
+ {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "x-ms-api-version": false,
+ "type": "string",
+ "enum": [
+ "2015-11-01"
+ ],
+ "description": "Azure Resource Manager Api Version."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about all key vaults in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List vaults in the specified subscription": {
+ "$ref": "./examples/listVault.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Vaults"
+ ],
+ "operationId": "Vaults_CheckNameAvailability",
+ "description": "Checks that the vault name is valid and is not already in use.",
+ "parameters": [
+ {
+ "name": "vaultName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VaultCheckNameAvailabilityParameters"
+ },
+ "description": "The name of the vault."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the vault name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Validate a vault name": {
+ "$ref": "./examples/checkVaultNameAvailability.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "description": "Gets the specified private endpoint connection associated with the key vault.",
+ "x-ms-examples": {
+ "KeyVaultGetPrivateEndpointConnection": {
+ "$ref": "./examples/getPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Private endpoint connection successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "204": {
+ "description": "The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Put",
+ "description": "Updates the specified private endpoint connection associated with the key vault.",
+ "x-ms-examples": {
+ "KeyVaultPutPrivateEndpointConnection": {
+ "$ref": "./examples/putPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The intended state of private endpoint connection."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The state of private endpoint connection was updated successfully.",
+ "headers": {
+ "Retry-After": {
+ "description": "(specified only if operation does not finish synchronously) The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "Azure-AsyncOperation": {
+ "description": "(specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "description": "Deletes the specified private endpoint connection associated with the key vault.",
+ "x-ms-examples": {
+ "KeyVaultDeletePrivateEndpointConnection": {
+ "$ref": "./examples/deletePrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The private endpoint connection was successfully deleted.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "The private endpoint connection is being deleted.",
+ "headers": {
+ "Retry-After": {
+ "description": "The recommended number of seconds to wait before calling the URI specified in the location header.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "Location": {
+ "description": "The URI to poll for completion status.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_ListByResource",
+ "description": "The List operation gets information about the private endpoint connections associated with the vault.",
+ "x-ms-examples": {
+ "KeyVaultListPrivateEndpointConnection": {
+ "$ref": "./examples/listPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about all private endpoint connections in the specified resource group.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_ListByVault",
+ "description": "Gets the private link resources supported for the key vault.",
+ "x-ms-examples": {
+ "KeyVaultListPrivateLinkResources": {
+ "$ref": "./examples/listPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/VaultName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Sku": {
+ "properties": {
+ "family": {
+ "type": "string",
+ "description": "SKU family name",
+ "enum": [
+ "A"
+ ],
+ "x-ms-client-default": "A",
+ "x-ms-enum": {
+ "name": "SkuFamily",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "type": "string",
+ "description": "SKU name to specify whether the key vault is a standard vault or a premium vault.",
+ "enum": [
+ "standard",
+ "premium"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "SKU details",
+ "required": [
+ "name",
+ "family"
+ ]
+ },
+ "AccessPolicyEntry": {
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies."
+ },
+ "applicationId": {
+ "type": "string",
+ "format": "uuid",
+ "description": " Application ID of the client making request on behalf of a principal"
+ },
+ "permissions": {
+ "$ref": "#/definitions/Permissions",
+ "description": "Permissions the identity has for keys, secrets and certificates."
+ }
+ },
+ "description": "An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID.",
+ "required": [
+ "tenantId",
+ "objectId",
+ "permissions"
+ ]
+ },
+ "Permissions": {
+ "properties": {
+ "keys": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "encrypt",
+ "decrypt",
+ "wrapKey",
+ "unwrapKey",
+ "sign",
+ "verify",
+ "get",
+ "list",
+ "create",
+ "update",
+ "import",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "x-ms-enum": {
+ "name": "KeyPermissions",
+ "modelAsString": true
+ }
+ },
+ "description": "Permissions to keys"
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "get",
+ "list",
+ "set",
+ "delete",
+ "backup",
+ "restore",
+ "recover",
+ "purge"
+ ],
+ "x-ms-enum": {
+ "name": "SecretPermissions",
+ "modelAsString": true
+ }
+ },
+ "description": "Permissions to secrets"
+ },
+ "certificates": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "get",
+ "list",
+ "delete",
+ "create",
+ "import",
+ "update",
+ "managecontacts",
+ "getissuers",
+ "listissuers",
+ "setissuers",
+ "deleteissuers",
+ "manageissuers",
+ "recover",
+ "purge",
+ "backup",
+ "restore"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePermissions",
+ "modelAsString": true
+ }
+ },
+ "description": "Permissions to certificates"
+ },
+ "storage": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "get",
+ "list",
+ "delete",
+ "set",
+ "update",
+ "regeneratekey",
+ "recover",
+ "purge",
+ "backup",
+ "restore",
+ "setsas",
+ "listsas",
+ "getsas",
+ "deletesas"
+ ],
+ "x-ms-enum": {
+ "name": "StoragePermissions",
+ "modelAsString": true
+ }
+ },
+ "description": "Permissions to storage accounts"
+ }
+ },
+ "description": "Permissions the identity has for keys, secrets, certificates and storage."
+ },
+ "VaultProperties": {
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU details"
+ },
+ "accessPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessPolicyEntry"
+ },
+ "description": "An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not required. Otherwise, access policies are required."
+ },
+ "vaultUri": {
+ "type": "string",
+ "description": "The URI of the vault for performing operations on keys and secrets."
+ },
+ "enabledForDeployment": {
+ "type": "boolean",
+ "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
+ },
+ "enabledForDiskEncryption": {
+ "type": "boolean",
+ "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
+ },
+ "enabledForTemplateDeployment": {
+ "type": "boolean",
+ "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
+ },
+ "enableSoftDelete": {
+ "type": "boolean",
+ "default": true,
+ "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it cannot be reverted to false."
+ },
+ "softDeleteRetentionInDays": {
+ "type": "integer",
+ "format": "int32",
+ "default": 90,
+ "description": "softDelete data retention days. It accepts >=7 and <=90."
+ },
+ "enableRbacAuthorization": {
+ "type": "boolean",
+ "default": false,
+ "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored (warning: this is a preview feature). When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC."
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The vault's create mode to indicate whether the vault need to be recovered or not.",
+ "enum": [
+ "recover",
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": false
+ }
+ },
+ "enablePurgeProtection": {
+ "type": "boolean",
+ "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value."
+ },
+ "networkAcls": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "Rules governing the accessibility of the key vault from specific network locations."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the vault.",
+ "enum": [
+ "Succeeded",
+ "RegisteringDns"
+ ],
+ "x-ms-enum": {
+ "name": "VaultProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnectionItem"
+ },
+ "description": "List of private endpoint connections associated with the key vault."
+ }
+ },
+ "required": [
+ "tenantId",
+ "sku"
+ ],
+ "description": "Properties of the vault"
+ },
+ "VaultPatchProperties": {
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU details"
+ },
+ "accessPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessPolicyEntry"
+ },
+ "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID."
+ },
+ "enabledForDeployment": {
+ "type": "boolean",
+ "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
+ },
+ "enabledForDiskEncryption": {
+ "type": "boolean",
+ "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
+ },
+ "enabledForTemplateDeployment": {
+ "type": "boolean",
+ "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
+ },
+ "enableSoftDelete": {
+ "type": "boolean",
+ "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. Once set to true, it cannot be reverted to false."
+ },
+ "enableRbacAuthorization": {
+ "type": "boolean",
+ "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored (warning: this is a preview feature). When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the value of this property will not change."
+ },
+ "softDeleteRetentionInDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "softDelete data retention days. It accepts >=7 and <=90."
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The vault's create mode to indicate whether the vault need to be recovered or not.",
+ "enum": [
+ "recover",
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": false
+ }
+ },
+ "enablePurgeProtection": {
+ "type": "boolean",
+ "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value."
+ },
+ "networkAcls": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "A collection of rules governing the accessibility of the vault from specific network locations."
+ }
+ },
+ "description": "Properties of the vault"
+ },
+ "VaultAccessPolicyProperties": {
+ "properties": {
+ "accessPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessPolicyEntry"
+ },
+ "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID."
+ }
+ },
+ "required": [
+ "accessPolicies"
+ ],
+ "description": "Properties of the vault access policy"
+ },
+ "DeletedVaultProperties": {
+ "properties": {
+ "vaultId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource id of the original vault."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The location of the original vault."
+ },
+ "deletionDate": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The deleted date."
+ },
+ "scheduledPurgeDate": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The scheduled purged date."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags of the original vault."
+ },
+ "purgeProtectionEnabled": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Purge protection status of the original vault."
+ }
+ },
+ "description": "Properties of the deleted vault."
+ },
+ "VaultCreateOrUpdateParameters": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The supported Azure location where the key vault should be created."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags that will be assigned to the key vault."
+ },
+ "properties": {
+ "$ref": "#/definitions/VaultProperties",
+ "description": "Properties of the vault"
+ }
+ },
+ "description": "Parameters for creating or updating a vault",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "VaultPatchParameters": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags that will be assigned to the key vault. "
+ },
+ "properties": {
+ "$ref": "#/definitions/VaultPatchProperties",
+ "description": "Properties of the vault"
+ }
+ },
+ "description": "Parameters for creating or updating a vault",
+ "x-ms-azure-resource": true
+ },
+ "VaultAccessPolicyParameters": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource id of the access policy."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name of the access policy."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name of the access policy."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type of the access policy."
+ },
+ "properties": {
+ "$ref": "#/definitions/VaultAccessPolicyProperties",
+ "description": "Properties of the access policy"
+ }
+ },
+ "description": "Parameters for updating the access policy in a vault",
+ "required": [
+ "properties"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "Vault": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified identifier of the key vault resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the key vault resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type of the key vault resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "Azure location of the key vault resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags assigned to the key vault resource."
+ },
+ "systemData": {
+ "description": "System metadata for the key vault.",
+ "$ref": "common.json#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/VaultProperties",
+ "description": "Properties of the vault"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Resource information with extended details.",
+ "x-ms-azure-resource": true
+ },
+ "DeletedVault": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource ID for the deleted key vault."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the key vault."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type of the key vault."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeletedVaultProperties",
+ "description": "Properties of the vault"
+ }
+ },
+ "description": "Deleted vault information with extended details."
+ },
+ "VaultListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Vault"
+ },
+ "description": "The list of vaults."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of vaults."
+ }
+ },
+ "description": "List of vaults"
+ },
+ "DeletedVaultListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedVault"
+ },
+ "description": "The list of deleted vaults."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of deleted vaults."
+ }
+ },
+ "description": "List of vaults"
+ },
+ "ResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Resource"
+ },
+ "description": "The list of vault resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of vault resources."
+ }
+ },
+ "description": "List of vault resources."
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified identifier of the key vault resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the key vault resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type of the key vault resource."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure location of the key vault resource."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags assigned to the key vault resource."
+ }
+ },
+ "description": "Key Vault resource",
+ "x-ms-azure-resource": true
+ },
+ "VaultCheckNameAvailabilityParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The vault name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.KeyVault/vaults"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.KeyVault/vaults"
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The parameters used to check the availability of the vault name."
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "nameAvailable": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "A boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used."
+ },
+ "reason": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The reason that a vault name could not be used. The Reason element is only returned if NameAvailable is false.",
+ "enum": [
+ "AccountNameInvalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "Reason",
+ "modelAsString": false
+ }
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "An error message explaining the Reason value in more detail."
+ }
+ },
+ "description": "The CheckNameAvailability operation response."
+ },
+ "NetworkRuleSet": {
+ "properties": {
+ "bypass": {
+ "type": "string",
+ "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'.",
+ "enum": [
+ "AzureServices",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleBypassOptions",
+ "modelAsString": true
+ }
+ },
+ "defaultAction": {
+ "type": "string",
+ "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleAction",
+ "modelAsString": true
+ }
+ },
+ "ipRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPRule"
+ },
+ "description": "The list of IP address rules."
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ },
+ "description": "The list of virtual network rules."
+ }
+ },
+ "description": "A set of rules governing the network accessibility of a vault."
+ },
+ "IPRule": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "A rule governing the accessibility of a vault from a specific ip address or ip range."
+ },
+ "VirtualNetworkRule": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "A rule governing the accessibility of a vault from a specific virtual network."
+ },
+ "PrivateEndpointConnectionItem": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Private endpoint connection properties."
+ }
+ },
+ "description": "Private endpoint connection item."
+ },
+ "PrivateEndpointConnection": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Resource properties."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Modified whenever there is a change in the state of private endpoint connection."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Private endpoint connection resource.",
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The list of private endpoint connections."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of private endpoint connections."
+ }
+ },
+ "description": "List of private endpoint connections."
+ },
+ "PrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "Properties of the private endpoint object."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "Approval state of the private link connection."
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState",
+ "description": "Provisioning state of the private endpoint connection."
+ }
+ },
+ "description": "Properties of the private endpoint connection resource."
+ },
+ "PrivateEndpoint": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Full identifier of the private endpoint resource."
+ }
+ },
+ "description": "Private endpoint object properties."
+ },
+ "PrivateLinkServiceConnectionState": {
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus",
+ "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner."
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval or rejection."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer.",
+ "enum": [
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ActionsRequired",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "An object that represents the approval state of the private link connection."
+ },
+ "PrivateEndpointServiceConnectionStatus": {
+ "type": "string",
+ "description": "The private endpoint connection status.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "PrivateEndpointConnectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Failed",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "PrivateLinkResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "PrivateLinkResourceProperties": {
+ "properties": {
+ "groupId": {
+ "description": "Group identifier of private link resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "Required member names of private link resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Required DNS zone names of the the private link resource."
+ }
+ },
+ "description": "Properties of a private link resource."
+ }
+ },
+ "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."
+ },
+ "ResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the resource group that contains the key vault.",
+ "x-ms-parameter-location": "method"
+ },
+ "VaultName": {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "The name of the key vault.",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the private endpoint connection associated with the key vault.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "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/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/managedHsm.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/managedHsm.json
new file mode 100644
index 000000000000..c8cf0caf2c0b
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/managedHsm.json
@@ -0,0 +1,1426 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KeyVaultManagementClient",
+ "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault.",
+ "version": "2021-04-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.KeyVault/managedHSMs/{name}": {
+ "put": {
+ "tags": [
+ "ManagedHsms"
+ ],
+ "operationId": "ManagedHsms_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a managed HSM Pool in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the managed HSM Pool"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedHsm"
+ },
+ "description": "Parameters to create or update the managed HSM Pool"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsm"
+ }
+ },
+ "200": {
+ "description": "Created or updated managed HSM Pool",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsm"
+ }
+ },
+ "default": {
+ "description": "The error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a new managed HSM Pool or update an existing managed HSM Pool": {
+ "$ref": "./examples/ManagedHsm_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedHsms"
+ ],
+ "operationId": "ManagedHsms_Update",
+ "x-ms-long-running-operation": true,
+ "description": "Update a managed HSM Pool in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the managed HSM Pool"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedHsm"
+ },
+ "description": "Parameters to patch the managed HSM Pool"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsm"
+ }
+ },
+ "200": {
+ "description": "Patched managed HSM Pool",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsm"
+ }
+ },
+ "default": {
+ "description": "The error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update an existing managed HSM Pool": {
+ "$ref": "./examples/ManagedHsm_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedHsms"
+ ],
+ "operationId": "ManagedHsms_Delete",
+ "description": "Deletes the specified managed HSM Pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed HSM Pool to delete"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "The error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a managed HSM Pool": {
+ "$ref": "./examples/ManagedHsm_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ManagedHsms"
+ ],
+ "operationId": "ManagedHsms_Get",
+ "description": "Gets the specified managed HSM Pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed HSM Pool."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved managed HSM Pool",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsm"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "default": {
+ "description": "The error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Retrieve a managed HSM Pool": {
+ "$ref": "./examples/ManagedHsm_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs": {
+ "get": {
+ "tags": [
+ "ManagedHsms"
+ ],
+ "operationId": "ManagedHsms_ListByResourceGroup",
+ "description": "The List operation gets information about the managed HSM Pools associated with the subscription and within the specified resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about all managed HSM Pools in the specified resource group.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmListResult"
+ }
+ },
+ "default": {
+ "description": "The error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List managed HSM Pools in a resource group": {
+ "$ref": "./examples/ManagedHsm_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/managedHSMs": {
+ "get": {
+ "tags": [
+ "ManagedHsms"
+ ],
+ "operationId": "ManagedHsms_ListBySubscription",
+ "description": "The List operation gets information about the managed HSM Pools associated with the subscription.",
+ "parameters": [
+ {
+ "name": "$top",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about all managed HSM Pools in the specified subscription.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmListResult"
+ }
+ },
+ "default": {
+ "description": "The error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List managed HSM Pools in a subscription": {
+ "$ref": "./examples/ManagedHsm_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "MHSMListPrivateEndpointConnections"
+ ],
+ "operationId": "MHSMPrivateEndpointConnections_ListByResource",
+ "description": "The List operation gets information about the private endpoint connections associated with the managed HSM Pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the managed HSM Pool"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about all managed HSM Pools in the specified subscription.",
+ "schema": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnectionsListResult"
+ }
+ },
+ "default": {
+ "description": "The error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List managed HSM Pools in a subscription": {
+ "$ref": "./examples/ManagedHsm_ListPrivateEndpointConnectionsByResource.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedManagedHSMs": {
+ "get": {
+ "tags": [
+ "ManagedHsms"
+ ],
+ "operationId": "ManagedHsms_ListDeleted",
+ "description": "The List operation gets information about the deleted managed HSMs associated with the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved information about all managed HSMs in the specified subscription.",
+ "schema": {
+ "$ref": "#/definitions/DeletedManagedHsmListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List deleted managed HSMs in the specified subscription": {
+ "$ref": "./examples/DeletedManagedHsm_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedManagedHSMs/{name}": {
+ "get": {
+ "tags": [
+ "ManagedHsms"
+ ],
+ "operationId": "ManagedHsms_GetDeleted",
+ "description": "Gets the specified deleted managed HSM.",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the deleted managed HSM."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the deleted managed HSM."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved information about the specified deleted managed HSM.",
+ "schema": {
+ "$ref": "#/definitions/DeletedManagedHsm"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Retrieve a deleted managed HSM": {
+ "$ref": "./examples/DeletedManagedHsm_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedManagedHSMs/{name}/purge": {
+ "post": {
+ "tags": [
+ "ManagedHsms"
+ ],
+ "operationId": "ManagedHsms_PurgeDeleted",
+ "description": "Permanently deletes the specified managed HSM.",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the soft-deleted managed HSM."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the soft-deleted managed HSM."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "The error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Purge a managed HSM Pool": {
+ "$ref": "./examples/DeletedManagedHsm_Purge.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "MHSMPrivateEndpointConnections"
+ ],
+ "operationId": "MHSMPrivateEndpointConnections_Get",
+ "description": "Gets the specified private endpoint connection associated with the managed HSM Pool.",
+ "x-ms-examples": {
+ "ManagedHsmGetPrivateEndpointConnection": {
+ "$ref": "./examples/ManagedHsm_getPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the managed HSM Pool"
+ },
+ {
+ "$ref": "#/parameters/MHSMPrivateEndpointConnectionName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Private endpoint connection successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "The error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ManagedHsmError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MHSMPrivateEndpointConnections"
+ ],
+ "operationId": "MHSMPrivateEndpointConnections_Put",
+ "description": "Updates the specified private endpoint connection associated with the managed hsm pool.",
+ "x-ms-examples": {
+ "ManagedHsmPutPrivateEndpointConnection": {
+ "$ref": "./examples/ManagedHsm_putPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the managed HSM Pool"
+ },
+ {
+ "$ref": "#/parameters/MHSMPrivateEndpointConnectionName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "properties",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnection"
+ },
+ "description": "The intended state of private endpoint connection."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The state of private endpoint connection was updated successfully.",
+ "headers": {
+ "Retry-After": {
+ "description": "(specified only if operation does not finish synchronously) The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "Azure-AsyncOperation": {
+ "description": "(specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MHSMPrivateEndpointConnections"
+ ],
+ "operationId": "MHSMPrivateEndpointConnections_Delete",
+ "description": "Deletes the specified private endpoint connection associated with the managed hsm pool.",
+ "x-ms-examples": {
+ "ManagedHsmDeletePrivateEndpointConnection": {
+ "$ref": "./examples/ManagedHsm_deletePrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the managed HSM Pool"
+ },
+ {
+ "$ref": "#/parameters/MHSMPrivateEndpointConnectionName"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The private endpoint connection was successfully deleted.",
+ "schema": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnection"
+ }
+ },
+ "202": {
+ "description": "The private endpoint connection is being deleted.",
+ "headers": {
+ "Retry-After": {
+ "description": "The recommended number of seconds to wait before calling the URI specified in the location header.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "Location": {
+ "description": "The URI to poll for completion status.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "MHSMPrivateLinkResources"
+ ],
+ "operationId": "MHSMPrivateLinkResources_ListByMHSMResource",
+ "description": "Gets the private link resources supported for the managed hsm pool.",
+ "x-ms-examples": {
+ "KeyVaultListPrivateLinkResources": {
+ "$ref": "./examples/ManagedHsm_listPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ManagedHsmResourceGroupName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the managed HSM Pool"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/MHSMPrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ManagedHsmSku": {
+ "properties": {
+ "family": {
+ "type": "string",
+ "description": "SKU Family of the managed HSM Pool",
+ "enum": [
+ "B"
+ ],
+ "x-ms-client-default": "B",
+ "x-ms-enum": {
+ "name": "ManagedHsmSkuFamily",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "type": "string",
+ "description": "SKU of the managed HSM Pool",
+ "enum": [
+ "Standard_B1",
+ "Custom_B32"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedHsmSkuName",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "SKU details",
+ "required": [
+ "name",
+ "family"
+ ]
+ },
+ "ManagedHsmProperties": {
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the managed HSM pool."
+ },
+ "initialAdminObjectIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of initial administrators object ids for this managed hsm pool."
+ },
+ "hsmUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URI of the managed hsm pool for performing operations on keys."
+ },
+ "enableSoftDelete": {
+ "type": "boolean",
+ "default": true,
+ "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false."
+ },
+ "softDeleteRetentionInDays": {
+ "type": "integer",
+ "format": "int32",
+ "default": 90,
+ "description": "softDelete data retention days. It accepts >=7 and <=90."
+ },
+ "enablePurgeProtection": {
+ "type": "boolean",
+ "default": true,
+ "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible."
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The create mode to indicate whether the resource is being created or is being recovered from a deleted resource.",
+ "enum": [
+ "recover",
+ "default"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "recover",
+ "description": "Recover the managed HSM pool from a soft-deleted resource."
+ },
+ {
+ "value": "default",
+ "description": "Create a new managed HSM pool. This is the default option."
+ }
+ ]
+ }
+ },
+ "statusMessage": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Status Message."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Provisioning",
+ "Failed",
+ "Updating",
+ "Deleting",
+ "Activated",
+ "SecurityDomainRestore",
+ "Restoring"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The managed HSM Pool has been full provisioned."
+ },
+ {
+ "value": "Provisioning",
+ "description": "The managed HSM Pool is currently being provisioned."
+ },
+ {
+ "value": "Failed",
+ "description": "Provisioning of the managed HSM Pool has failed."
+ },
+ {
+ "value": "Updating",
+ "description": "The managed HSM Pool is currently being updated."
+ },
+ {
+ "value": "Deleting",
+ "description": "The managed HSM Pool is currently being deleted."
+ },
+ {
+ "value": "Activated",
+ "description": "The managed HSM pool is ready for normal use."
+ },
+ {
+ "value": "SecurityDomainRestore",
+ "description": "The managed HSM pool is waiting for a security domain restore action."
+ },
+ {
+ "value": "Restoring",
+ "description": "The managed HSM pool is being restored from full HSM backup."
+ }
+ ]
+ }
+ },
+ "networkAcls": {
+ "$ref": "#/definitions/MHSMNetworkRuleSet",
+ "description": "Rules governing the accessibility of the key vault from specific network locations."
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnectionItem"
+ },
+ "description": "List of private endpoint connections associated with the managed hsm pool."
+ },
+ "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
+ }
+ },
+ "scheduledPurgeDate": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The scheduled purge date in UTC."
+ }
+ },
+ "description": "Properties of the managed HSM Pool"
+ },
+ "ManagedHsm": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ManagedHsmProperties",
+ "description": "Properties of the managed HSM"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedHsmResource"
+ }
+ ],
+ "description": "Resource information with extended details."
+ },
+ "ManagedHsmResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Azure Resource Manager resource ID for the managed HSM Pool."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the managed HSM Pool."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type of the managed HSM Pool."
+ },
+ "location": {
+ "type": "string",
+ "description": "The supported Azure location where the managed HSM Pool should be created.",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "sku": {
+ "$ref": "#/definitions/ManagedHsmSku",
+ "description": "SKU details"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "systemData": {
+ "$ref": "common.json#/definitions/SystemData"
+ }
+ },
+ "description": "Managed HSM resource",
+ "x-ms-azure-resource": true
+ },
+ "ManagedHsmListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedHsm"
+ },
+ "description": "The list of managed HSM Pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed HSM Pools."
+ }
+ },
+ "description": "List of managed HSM Pools"
+ },
+ "MHSMPrivateEndpointConnectionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnection"
+ },
+ "description": "The private endpoint connection associated with a managed HSM Pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed HSM Pools."
+ }
+ },
+ "description": "List of private endpoint connections associated with a managed HSM Pools"
+ },
+ "ManagedHsmError": {
+ "properties": {
+ "error": {
+ "readOnly": true,
+ "description": "The server error.",
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "description": "The error exception."
+ },
+ "Error": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error code."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The error message."
+ },
+ "innererror": {
+ "x-ms-client-name": "innerError",
+ "readOnly": true,
+ "description": "The inner error, contains a more specific error code.",
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "description": "The server error."
+ },
+ "DeletedManagedHsm": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Azure Resource Manager resource ID for the deleted managed HSM Pool."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the managed HSM Pool."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type of the managed HSM Pool."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeletedManagedHsmProperties",
+ "description": "Properties of the deleted managed HSM"
+ }
+ }
+ },
+ "DeletedManagedHsmProperties": {
+ "properties": {
+ "mhsmId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource id of the original managed HSM."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The location of the original managed HSM."
+ },
+ "deletionDate": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The deleted date."
+ },
+ "scheduledPurgeDate": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The scheduled purged date."
+ },
+ "purgeProtectionEnabled": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Purge protection status of the original managed HSM."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags of the original managed HSM."
+ }
+ },
+ "description": "Properties of the deleted managed HSM."
+ },
+ "DeletedManagedHsmListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedManagedHsm"
+ },
+ "description": "The list of deleted managed HSM Pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of deleted managed HSM Pools."
+ }
+ },
+ "description": "List of deleted managed HSM Pools"
+ },
+ "MHSMNetworkRuleSet": {
+ "properties": {
+ "bypass": {
+ "type": "string",
+ "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'.",
+ "enum": [
+ "AzureServices",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleBypassOptions",
+ "modelAsString": true
+ }
+ },
+ "defaultAction": {
+ "type": "string",
+ "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleAction",
+ "modelAsString": true
+ }
+ },
+ "ipRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MHSMIPRule"
+ },
+ "description": "The list of IP address rules."
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MHSMVirtualNetworkRule"
+ },
+ "description": "The list of virtual network rules."
+ }
+ },
+ "description": "A set of rules governing the network accessibility of a managed hsm pool."
+ },
+ "MHSMIPRule": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "A rule governing the accessibility of a managed hsm pool from a specific ip address or ip range."
+ },
+ "MHSMVirtualNetworkRule": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "A rule governing the accessibility of a managed hsm pool from a specific virtual network."
+ },
+ "MHSMPrivateEndpointConnectionItem": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Private endpoint connection properties."
+ }
+ },
+ "description": "Private endpoint connection item."
+ },
+ "MHSMPrivateEndpointConnection": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnectionProperties",
+ "x-ms-client-flatten": true,
+ "description": "Resource properties."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Modified whenever there is a change in the state of private endpoint connection."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedHsmResource"
+ }
+ ],
+ "description": "Private endpoint connection resource.",
+ "x-ms-azure-resource": true
+ },
+ "MHSMPrivateEndpointConnectionProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/MHSMPrivateEndpoint",
+ "description": "Properties of the private endpoint object."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/MHSMPrivateLinkServiceConnectionState",
+ "description": "Approval state of the private link connection."
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/MHSMPrivateEndpointConnectionProvisioningState",
+ "description": "Provisioning state of the private endpoint connection."
+ }
+ },
+ "description": "Properties of the private endpoint connection resource."
+ },
+ "MHSMPrivateEndpoint": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Full identifier of the private endpoint resource."
+ }
+ },
+ "description": "Private endpoint object properties."
+ },
+ "MHSMPrivateLinkServiceConnectionState": {
+ "properties": {
+ "status": {
+ "$ref": "#/definitions/MHSMPrivateEndpointServiceConnectionStatus",
+ "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner."
+ },
+ "description": {
+ "type": "string",
+ "description": "The reason for approval or rejection."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "A message indicating if changes on the service provider require any updates on the consumer.",
+ "enum": [
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ActionsRequired",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "An object that represents the approval state of the private link connection."
+ },
+ "MHSMPrivateEndpointServiceConnectionStatus": {
+ "type": "string",
+ "description": "The private endpoint connection status.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "MHSMPrivateEndpointConnectionProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Failed",
+ "Disconnected"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "MHSMPrivateLinkResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/MHSMPrivateLinkResource"
+ }
+ }
+ },
+ "description": "A list of private link resources"
+ },
+ "MHSMPrivateLinkResource": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MHSMPrivateLinkResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedHsmResource"
+ }
+ ],
+ "description": "A private link resource"
+ },
+ "MHSMPrivateLinkResourceProperties": {
+ "properties": {
+ "groupId": {
+ "description": "Group identifier of private link resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "requiredMembers": {
+ "description": "Required member names of private link resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Required DNS zone names of the the private link resource."
+ }
+ },
+ "description": "Properties of a private link resource."
+ }
+ },
+ "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."
+ },
+ "ManagedHsmResourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the resource group that contains the managed HSM pool.",
+ "x-ms-parameter-location": "method"
+ },
+ "MHSMPrivateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the private endpoint connection associated with the managed hsm pool.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/providers.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/providers.json
new file mode 100644
index 000000000000..eda61f5f9c9b
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/providers.json
@@ -0,0 +1,190 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-04-01-preview",
+ "title": "KeyVaultManagementClient",
+ "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.KeyVault/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Key Vault Rest API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Lists available Rest API operations.": {
+ "$ref": "./examples/listOperations.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Storage operations supported by the Storage resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of operations."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Key Vault REST API operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft Key Vault.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed etc.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The origin of operations."
+ },
+ "properties": {
+ "description": "Properties of operation, include metric specifications.",
+ "x-ms-client-flatten": true,
+ "x-ms-client-name": "OperationProperties",
+ "$ref": "#/definitions/OperationProperties"
+ },
+ "isDataAction": {
+ "type": "boolean",
+ "description": "Property to specify whether the action is a data action."
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Properties of operation, include metric specifications.",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "One property of operation, include metric specifications."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "One property of operation, include log specifications.",
+ "properties": {
+ "logSpecifications": {
+ "description": "Log specifications of operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogSpecification"
+ }
+ }
+ }
+ },
+ "LogSpecification": {
+ "description": "Log specification of operation.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of log specification."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of log specification."
+ },
+ "blobDuration": {
+ "type": "string",
+ "description": "Blob duration of specification."
+ }
+ }
+ }
+ },
+ "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."
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "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/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/secrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/secrets.json
new file mode 100644
index 000000000000..417dbbda91aa
--- /dev/null
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-04-01-preview/secrets.json
@@ -0,0 +1,483 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-04-01-preview",
+ "title": "KeyVaultManagementClient",
+ "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}": {
+ "put": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "Secrets_CreateOrUpdate",
+ "description": "Create or update a secret in a key vault in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "Name of the vault"
+ },
+ {
+ "name": "secretName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{1,127}$",
+ "description": "Name of the secret"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecretCreateOrUpdateParameters"
+ },
+ "description": "Parameters to create or update the secret"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created or updated vault",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ },
+ "200": {
+ "description": "Created or updated secret",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a secret": {
+ "$ref": "./examples/createSecret.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "Secrets_Update",
+ "description": "Update a secret in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{3,24}$",
+ "description": "Name of the vault"
+ },
+ {
+ "name": "secretName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9-]{1,127}$",
+ "description": "Name of the secret"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecretPatchParameters"
+ },
+ "description": "Parameters to patch the secret"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Patched secret",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ },
+ "200": {
+ "description": "Patched secret",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a secret": {
+ "$ref": "./examples/updateSecret.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "Secrets_Get",
+ "description": "Gets the specified secret. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vault."
+ },
+ {
+ "name": "secretName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the secret."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved secret",
+ "schema": {
+ "$ref": "#/definitions/Secret"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a secret": {
+ "$ref": "./examples/getSecret.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets": {
+ "get": {
+ "tags": [
+ "Secrets"
+ ],
+ "operationId": "Secrets_List",
+ "description": "The List operation gets information about the secrets in a vault. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Resource Group to which the vault belongs."
+ },
+ {
+ "name": "vaultName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vault."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of results to return."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get information about secrets in the specified vault.",
+ "schema": {
+ "$ref": "#/definitions/SecretListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "common.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List secrets in the vault": {
+ "$ref": "./examples/listSecrets.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "Attributes": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether the object is enabled."
+ },
+ "nbf": {
+ "x-ms-client-name": "NotBefore",
+ "type": "integer",
+ "format": "int64",
+ "description": "Not before date in seconds since 1970-01-01T00:00:00Z."
+ },
+ "exp": {
+ "x-ms-client-name": "Expires",
+ "type": "integer",
+ "format": "int64",
+ "description": "Expiry date in seconds since 1970-01-01T00:00:00Z."
+ },
+ "created": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Creation time in seconds since 1970-01-01T00:00:00Z."
+ },
+ "updated": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Last updated time in seconds since 1970-01-01T00:00:00Z."
+ }
+ },
+ "description": "The object attributes managed by the KeyVault service."
+ },
+ "SecretProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The value of the secret. NOTE: 'value' will never be returned from the service, as APIs using this model are is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The content type of the secret."
+ },
+ "attributes": {
+ "$ref": "#/definitions/SecretAttributes",
+ "description": "The attributes of the secret."
+ },
+ "secretUri": {
+ "type": "string",
+ "description": "The URI to retrieve the current version of the secret.",
+ "readOnly": true
+ },
+ "secretUriWithVersion": {
+ "type": "string",
+ "description": "The URI to retrieve the specific version of the secret.",
+ "readOnly": true
+ }
+ },
+ "description": "Properties of the secret"
+ },
+ "SecretPatchProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The value of the secret."
+ },
+ "contentType": {
+ "type": "string",
+ "description": "The content type of the secret."
+ },
+ "attributes": {
+ "$ref": "#/definitions/SecretAttributes",
+ "description": "The attributes of the secret."
+ }
+ },
+ "description": "Properties of the secret"
+ },
+ "SecretAttributes": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Attributes"
+ }
+ ],
+ "description": "The secret management attributes."
+ },
+ "SecretCreateOrUpdateParameters": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags that will be assigned to the secret. "
+ },
+ "properties": {
+ "$ref": "#/definitions/SecretProperties",
+ "description": "Properties of the secret"
+ }
+ },
+ "description": "Parameters for creating or updating a secret",
+ "required": [
+ "properties"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SecretPatchParameters": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags that will be assigned to the secret. "
+ },
+ "properties": {
+ "$ref": "#/definitions/SecretPatchProperties",
+ "description": "Properties of the secret"
+ }
+ },
+ "description": "Parameters for patching a secret",
+ "x-ms-azure-resource": true
+ },
+ "Secret": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecretProperties",
+ "description": "Properties of the secret"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "./keyvault.json#/definitions/Resource"
+ }
+ ],
+ "description": "Resource information with extended details."
+ },
+ "SecretListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Secret"
+ },
+ "description": "The list of secrets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of secrets."
+ }
+ },
+ "description": "List of secrets"
+ }
+ },
+ "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."
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "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/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keys.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keys.json
index ff2670e0d858..3f54b0e4e718 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keys.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keys.json
@@ -461,14 +461,12 @@
"name": "JsonWebKeyOperation",
"modelAsString": true
}
- },
- "readOnly": true
+ }
},
"keySize": {
"type": "integer",
"format": "int32",
- "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA.",
- "readOnly": true
+ "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA."
},
"curveName": {
"type": "string",
diff --git a/specification/keyvault/resource-manager/readme.azureresourceschema.md b/specification/keyvault/resource-manager/readme.azureresourceschema.md
index 331b24762f0e..917ec78a6940 100644
--- a/specification/keyvault/resource-manager/readme.azureresourceschema.md
+++ b/specification/keyvault/resource-manager/readme.azureresourceschema.md
@@ -6,6 +6,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
``` yaml $(azureresourceschema) && $(multiapi)
batch:
+ - tag: schema-keyvault-2021-04-01-preview
- tag: schema-keyvault-2020-04-01-preview
- tag: schema-keyvault-2019-09-01
- tag: schema-keyvault-2018-02-14-preview
@@ -19,6 +20,20 @@ Please also specify `--azureresourceschema-folder=`.
Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml
+``` yaml $(python) && $(track2)
+python-mode: create
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.keyvault
package-name: azure-mgmt-keyvault
+package-version: 1.0.0b1
no-namespace-folders: true
```
@@ -21,7 +24,8 @@ batch:
- tag: package-2019-09
- tag: package-2018-02
- tag: package-2016-10
- - tag: package-preview-2020-04
+ - tag: package-preview-2020-04-full
+ - tag: package-preview-2021-04
- multiapiscript: true
```
@@ -30,12 +34,20 @@ output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/key
clear-output-folder: false
perform-load: false
```
+### Tag: package-preview-2021-04 and python
-### Tag: package-preview-2020-04 and python
+These settings apply only when `--tag=package-preview-2021-04 --python` is specified on the command line.
-These settings apply only when `--tag=package-preview-2020-04 --python` is specified on the command line.
+``` yaml $(tag) == 'package-preview-2021-04'
+namespace: azure.mgmt.keyvault.v2021_04_01_preview
+output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/keyvault/v2021_04_01_preview
+```
+
+### Tag: package-preview-2020-04-full and python
+
+These settings apply only when `--tag=package-preview-2020-04-full --python` is specified on the command line.
-``` yaml $(tag) == 'package-preview-2020-04'
+``` yaml $(tag) == 'package-preview-2020-04-full'
namespace: azure.mgmt.keyvault.v2020_04_01_preview
output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/keyvault/v2020_04_01_preview
```
diff --git a/specification/kubernetesconfiguration/resource-manager/readme.azureresourceschema.md b/specification/kubernetesconfiguration/resource-manager/readme.azureresourceschema.md
index 91b45b331a14..43914d1667f1 100644
--- a/specification/kubernetesconfiguration/resource-manager/readme.azureresourceschema.md
+++ b/specification/kubernetesconfiguration/resource-manager/readme.azureresourceschema.md
@@ -8,6 +8,7 @@ These settings apply only when `--azureresourceschema` is specified on the comma
batch:
- tag: schema-kubernetesconfiguration-2021-03-01
- tag: schema-kubernetesconfiguration-2020-10-01-preview
+ - tag: schema-kubernetesconfiguration-2020-07-01-preview
- tag: schema-kubernetesconfiguration-2019-11-01-preview
```
@@ -36,6 +37,18 @@ input-file:
```
+### Tag: schema-kubernetesconfiguration-2020-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-kubernetesconfiguration-2020-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.KubernetesConfiguration/preview/2020-07-01-preview/kubernetesconfiguration.json
+ - Microsoft.KubernetesConfiguration/preview/2020-07-01-preview/extensions.json
+
+```
+
### Tag: schema-kubernetesconfiguration-2019-11-01-preview and azureresourceschema
``` yaml $(tag) == 'schema-kubernetesconfiguration-2019-11-01-preview' && $(azureresourceschema)
diff --git a/specification/kubernetesconfiguration/resource-manager/readme.go.md b/specification/kubernetesconfiguration/resource-manager/readme.go.md
index 6e0ee087d1ce..35193d32374a 100644
--- a/specification/kubernetesconfiguration/resource-manager/readme.go.md
+++ b/specification/kubernetesconfiguration/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: kubernetesconfiguration
clear-output-folder: true
```
diff --git a/specification/labservices/resource-manager/readme.go.md b/specification/labservices/resource-manager/readme.go.md
index b760fe2f8a35..526e93ce3e54 100644
--- a/specification/labservices/resource-manager/readme.go.md
+++ b/specification/labservices/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: labservices
clear-output-folder: true
```
diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md
index 95fe61bb6daa..7acba02bbc41 100644
--- a/specification/labservices/resource-manager/readme.md
+++ b/specification/labservices/resource-manager/readme.md
@@ -52,6 +52,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-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -81,46 +82,7 @@ csharp:
## Python
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-
-``` yaml $(python) && !$(track2)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.labservices
- package-name: azure-mgmt-labservices
- clear-output-folder: true
-```
-``` yaml $(python) && $(track2)
-python-mode: create
-azure-arm: true
-license-header: MICROSOFT_MIT_NO_VERSION
-namespace: azure.mgmt.labservices
-package-name: azure-mgmt-labservices
-clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices/azure/mgmt/labservices
-```
-``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices
-```
-``` yaml $(python) && $(python-mode) == 'update' && $(track2)
-no-namespace-folders: true
-output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices/azure/mgmt/labservices
-```
-``` yaml $(python) && $(python-mode) == 'create' && $(track2)
-basic-setup-py: true
-output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices
-```
+See configuration in [readme.python.md](./readme.python.md)
## Go
diff --git a/specification/labservices/resource-manager/readme.python.md b/specification/labservices/resource-manager/readme.python.md
new file mode 100644
index 000000000000..6b206e0b7f9f
--- /dev/null
+++ b/specification/labservices/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 $(python) && !$(track2)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.labservices
+ package-name: azure-mgmt-labservices
+ package-version: 1.0.0b1
+ clear-output-folder: true
+```
+``` yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.labservices
+package-name: azure-mgmt-labservices
+package-version: 1.0.0b1
+clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices/azure/mgmt/labservices
+```
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices
+```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices/azure/mgmt/labservices
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices
+```
diff --git a/specification/logic/resource-manager/readme.go.md b/specification/logic/resource-manager/readme.go.md
index 443c49c31735..3111a2cd00d3 100644
--- a/specification/logic/resource-manager/readme.go.md
+++ b/specification/logic/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
``` yaml $(go)
go:
- license-header: MICROSOFT_APACHE_NO_VERSION
+ license-header: MICROSOFT_MIT_NO_VERSION
namespace: logic
clear-output-folder: true
```
diff --git a/specification/logic/resource-manager/readme.md b/specification/logic/resource-manager/readme.md
index b6a7b4699e33..fbf1a3f1b55b 100644
--- a/specification/logic/resource-manager/readme.md
+++ b/specification/logic/resource-manager/readme.md
@@ -252,17 +252,17 @@ generate-interface: true
See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-## trenton
+## Terraform
-These settings apply only when `--trenton` is specified on the command line.
+These settings apply only when `--terraform` is specified on the command line.
-``` yaml $(trenton)
-trenton:
+``` yaml $(terraform)
+terraform:
cli-name: logic
azure_arm: true
license_header: MICROSOFT_MIT_NO_VERSION
payload_flattening_threshold: 2
namespace: logic
package-name: logic
- clear_output_folder: false
+ clear-output-folder: false
```
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/MonitoredResources_List.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/MonitoredResources_List.json
new file mode 100644
index 000000000000..9409fb4056ee
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/MonitoredResources_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-10-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/monitors/myMonitor/listMonitoredResources",
+ "sendingMetrics": true,
+ "reasonForMetricsStatus": "CapturedByRules",
+ "sendingLogs": true,
+ "reasonForLogsStatus": "CapturedByRules"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Create.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Create.json
new file mode 100644
index 000000000000..067c396f8f61
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Create.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "requestBody": {
+ "properties": {
+ "userInfo": {
+ "firstName": "Alice",
+ "lastName": "Bob",
+ "emailAddress": "alice@microsoft.com",
+ "phoneNumber": "123456"
+ },
+ "planData": {
+ "usageType": "Committed",
+ "billingCycle": "Monthly",
+ "planDetails": "logzapitestplan",
+ "effectiveDate": "2019-08-30T15:14:33+02:00"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "name": "myMonitor",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Delete.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Delete.json
new file mode 100644
index 000000000000..714a9adac970
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Get.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Get.json
new file mode 100644
index 000000000000..98d68bd3d4ad
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-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.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "userInfo": {
+ "firstName": "Alice",
+ "lastName": "Bob",
+ "emailAddress": "alice@microsoft.com",
+ "phoneNumber": "123456"
+ },
+ "planData": {
+ "usageType": "Committed",
+ "billingCycle": "Monthly",
+ "planDetails": "logzapitestplan",
+ "effectiveDate": "2019-08-30T15:14:33+02:00"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_List.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_List.json
new file mode 100644
index 000000000000..eeb749f34443
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled",
+ "userInfo": {
+ "firstName": "Alice",
+ "lastName": "Bob",
+ "emailAddress": "alice@microsoft.com",
+ "phoneNumber": "123456"
+ },
+ "planData": {
+ "usageType": "Committed",
+ "billingCycle": "Monthly",
+ "planDetails": "logzapitestplan",
+ "effectiveDate": "2019-08-30T15:14:33+02:00"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_ListByResourceGroup.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_ListByResourceGroup.json
new file mode 100644
index 000000000000..eb9b3ce67a24
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_ListByResourceGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-10-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.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "userInfo": {
+ "firstName": "Alice",
+ "lastName": "Bob",
+ "emailAddress": "alice@microsoft.com",
+ "phoneNumber": "123456"
+ },
+ "planData": {
+ "usageType": "Committed",
+ "billingCycle": "Monthly",
+ "planDetails": "logzapitestplan",
+ "effectiveDate": "2019-08-30T15:14:33+02:00"
+ }
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Update.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Update.json
new file mode 100644
index 000000000000..5c7ab4192609
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Monitors_Update.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-10-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.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled"
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Operations_List.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..10fbaa69b2c5
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/Operations_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Logz/monitors/write",
+ "display": {
+ "provider": "Microsoft.Logz",
+ "resource": "monitors",
+ "operation": "write",
+ "description": "Write monitors resource"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SingleSignOnConfigurations_CreateOrUpdate.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SingleSignOnConfigurations_CreateOrUpdate.json
new file mode 100644
index 000000000000..2975d4a0131d
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SingleSignOnConfigurations_CreateOrUpdate.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "configurationName": "default",
+ "requestBody": {
+ "properties": {
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000",
+ "singleSignOnUrl": null
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Logz/monitors/myMonitor/singleSignOnConfigurations/default",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000",
+ "singleSignOnUrl": "https://www.logz.io/IAmSomeHash"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Logz/monitors/myMonitor/singleSignOnConfigurations/default",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000",
+ "singleSignOnUrl": "https://www.logz.io/IAmSomeHash"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SingleSignOnConfigurations_Get.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SingleSignOnConfigurations_Get.json
new file mode 100644
index 000000000000..7e169ba4559b
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SingleSignOnConfigurations_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-10-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.Logz/monitors/myMonitor/singleSignOnConfigurations/default",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000",
+ "singleSignOnUrl": "https://www.loz.io/IAmSomeHash"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SingleSignOnConfigurations_List.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SingleSignOnConfigurations_List.json
new file mode 100644
index 000000000000..ea9dda04d269
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SingleSignOnConfigurations_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-10-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.Logz/monitors/myMonitor/singleSignOnConfigurations/default",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "singleSignOnState": "Enable",
+ "enterpriseAppId": "00000000-0000-0000-0000-000000000000",
+ "singleSignOnUrl": "https://www.logz.io/IAmSomeHash"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_CreateOrUpdate.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_CreateOrUpdate.json
new file mode 100644
index 000000000000..31a0b5a33d7b
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_CreateOrUpdate.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "subAccountName": "SubAccount1",
+ "ruleSetName": "default",
+ "requestBody": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Logz/monitors/myMonitor/accounts/SubAccount1/tagRules/default",
+ "type": "Microsoft.Logz/monitors/tagRules",
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Logz/monitors/myMonitor/accounts/SubAccount1/tagRules/default",
+ "type": "Microsoft.Logz/monitors/tagRules",
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_Delete.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_Delete.json
new file mode 100644
index 000000000000..797c7b30d9dd
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "subAccountName": "SubAccount1",
+ "ruleSetName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_Get.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_Get.json
new file mode 100644
index 000000000000..7f0afd3d444d
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_Get.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "subAccountName": "SubAccount1",
+ "ruleSetName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Logz/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Logz/monitors/tagRules",
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_List.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_List.json
new file mode 100644
index 000000000000..5b11fac35e58
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccountTagRules_List.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "subAccountName": "SubAccount1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Logz/monitors/myMonitor/accounts/subAccount1/tagRules/default",
+ "type": "Microsoft.Logz/monitors/tagRules",
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Create.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Create.json
new file mode 100644
index 000000000000..43dfc373f793
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Create.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "subAccountName": "SubAccount1",
+ "requestBody": {
+ "name": "myMonitor",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Accepted",
+ "monitoringStatus": "Enabled"
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor/accounts/SubAccount1",
+ "name": "myMonitor",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor/accounts/SubAccount1",
+ "name": "myMonitor",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US 2"
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Delete.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Delete.json
new file mode 100644
index 000000000000..705fcb4328eb
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "subAccountName": "someName",
+ "monitorName": "myMonitor"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Get.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Get.json
new file mode 100644
index 000000000000..492805ff2ecc
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "subAccountName": "SubAccount1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor/accounts/SubAccount1",
+ "name": "myMonitor",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled"
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_ListByResourceGroup.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_ListByResourceGroup.json
new file mode 100644
index 000000000000..d3f7db349c14
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_ListByResourceGroup.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "subAccountName": "subacname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor/accounts",
+ "name": "myMonitor",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled"
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_MonitoredResources_List.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_MonitoredResources_List.json
new file mode 100644
index 000000000000..02f6a8b36b7f
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_MonitoredResources_List.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "subAccountName": "SubAccount1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor/accounts/SubAccount1/listMonitoredResources",
+ "sendingMetrics": true,
+ "reasonForMetricsStatus": "CapturedByRules",
+ "sendingLogs": true,
+ "reasonForLogsStatus": "CapturedByRules"
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Update.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Update.json
new file mode 100644
index 000000000000..c62053c78433
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/SubAccount_Update.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "subAccountName": "SubAccount1",
+ "requestBody": {
+ "properties": {
+ "monitoringStatus": "Enabled"
+ },
+ "tags": {
+ "Environment": "Dev"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/monitors/myMonitor/accounts/SubAccount1",
+ "name": "myMonitor",
+ "type": "Microsoft.Logz/monitors",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "monitoringStatus": "Enabled"
+ },
+ "tags": {
+ "Environment": "Dev"
+ },
+ "location": "West US"
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_CreateOrUpdate.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_CreateOrUpdate.json
new file mode 100644
index 000000000000..75bbba13c20d
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_CreateOrUpdate.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "subAccountName": "SubAccount1",
+ "monitorName": "myMonitor",
+ "ruleSetName": "default",
+ "requestBody": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Logz/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Logz/monitors/tagRules",
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "default",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Logz/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Logz/monitors/tagRules",
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_Delete.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_Delete.json
new file mode 100644
index 000000000000..4d259cc14224
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "monitorName": "myMonitor",
+ "ruleSetName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_Get.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_Get.json
new file mode 100644
index 000000000000..76df7a8a6b3c
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-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.Logz/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Logz/monitors/tagRules",
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_List.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_List.json
new file mode 100644
index 000000000000..ea04c9fc0e68
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/examples/TagRules_List.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-10-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.Logz/monitors/myMonitor/tagRules/default",
+ "type": "Microsoft.Logz/monitors/tagRules",
+ "properties": {
+ "logRules": {
+ "sendAadLogs": false,
+ "sendSubscriptionLogs": true,
+ "sendActivityLogs": true,
+ "filteringTags": [
+ {
+ "name": "Environment",
+ "value": "Prod",
+ "action": "Include"
+ },
+ {
+ "name": "Environment",
+ "value": "Dev",
+ "action": "Exclude"
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json
new file mode 100644
index 000000000000..a9fd5750fbd6
--- /dev/null
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json
@@ -0,0 +1,1943 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft.Logz",
+ "version": "2020-10-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.Logz/monitors/{monitorName}/listMonitoredResources": {
+ "post": {
+ "tags": [
+ "Monitors"
+ ],
+ "summary": "List the resources currently being monitored by the Logz monitor resource.",
+ "operationId": "Monitors_ListMonitoredResources",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoredResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "MonitoredResources_List": {
+ "$ref": "./examples/MonitoredResources_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Logz/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List all operations provided by Microsoft.Logz.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Logz/monitors": {
+ "get": {
+ "tags": [
+ "Monitors"
+ ],
+ "summary": "List all monitors under the specified subscription.",
+ "operationId": "Monitors_ListBySubscription",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_List": {
+ "$ref": "./examples/Monitors_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors": {
+ "get": {
+ "tags": [
+ "Monitors"
+ ],
+ "summary": "List all monitors under the specified resource group.",
+ "operationId": "Monitors_ListByResourceGroup",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Monitors_ListByResourceGroup": {
+ "$ref": "./examples/Monitors_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}": {
+ "get": {
+ "tags": [
+ "Monitors"
+ ],
+ "summary": "Get the properties of a specific monitor resource.",
+ "operationId": "Monitors_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_Get": {
+ "$ref": "./examples/Monitors_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Monitors"
+ ],
+ "summary": "Create a monitor resource.",
+ "operationId": "Monitors_Create",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_Create": {
+ "$ref": "./examples/Monitors_Create.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Monitors"
+ ],
+ "summary": "Update a monitor resource.",
+ "operationId": "Monitors_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResourceUpdateParameters"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Monitors_Update": {
+ "$ref": "./examples/Monitors_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Monitors"
+ ],
+ "summary": "Delete a monitor resource.",
+ "operationId": "Monitors_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Success",
+ "headers": {
+ "location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "Monitors_Delete": {
+ "$ref": "./examples/Monitors_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}/tagRules": {
+ "get": {
+ "tags": [
+ "TagRules"
+ ],
+ "summary": "List the tag rules for a given monitor resource.",
+ "operationId": "TagRules_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRulesListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TagRules_List": {
+ "$ref": "./examples/TagRules_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}/tagRules/{ruleSetName}": {
+ "put": {
+ "tags": [
+ "TagRules"
+ ],
+ "summary": "Create or update a tag rule set for a given monitor resource.",
+ "operationId": "TagRules_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "ruleSetName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TagRules_CreateOrUpdate": {
+ "$ref": "./examples/TagRules_CreateOrUpdate.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "TagRules"
+ ],
+ "summary": "Get a tag rule set for a given monitor resource.",
+ "operationId": "TagRules_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "ruleSetName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TagRules_Get": {
+ "$ref": "./examples/TagRules_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TagRules"
+ ],
+ "summary": "Delete a tag rule set for a given monitor resource.",
+ "operationId": "TagRules_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "ruleSetName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Success",
+ "headers": {
+ "location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TagRules_Delete": {
+ "$ref": "./examples/TagRules_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}/singleSignOnConfigurations": {
+ "get": {
+ "tags": [
+ "SingleSignOn"
+ ],
+ "summary": "List the single sign-on configurations for a given monitor resource.",
+ "operationId": "SingleSignOn_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzSingleSignOnResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SingleSignOnConfigurations_List": {
+ "$ref": "./examples/SingleSignOnConfigurations_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}/singleSignOnConfigurations/{configurationName}": {
+ "put": {
+ "tags": [
+ "SingleSignOn"
+ ],
+ "summary": "Configures single-sign-on for this resource.",
+ "operationId": "SingleSignOn_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "configurationName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/LogzSingleSignOnResource"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzSingleSignOnResource"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzSingleSignOnResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SingleSignOnConfigurations_CreateOrUpdate": {
+ "$ref": "./examples/SingleSignOnConfigurations_CreateOrUpdate.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SingleSignOn"
+ ],
+ "summary": "Gets the Logz single sign-on resource for the given Monitor.",
+ "operationId": "SingleSignOn_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "configurationName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzSingleSignOnResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SingleSignOnConfigurations_Get": {
+ "$ref": "./examples/SingleSignOnConfigurations_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}/accounts": {
+ "get": {
+ "tags": [
+ "SubAccount"
+ ],
+ "summary": "List the sub account under a given monitor resource.",
+ "operationId": "SubAccount_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SubAccount_List": {
+ "$ref": "./examples/SubAccount_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}/accounts/{subAccountName}": {
+ "put": {
+ "tags": [
+ "SubAccount"
+ ],
+ "summary": "Create sub account under a given monitor resource.",
+ "operationId": "SubAccount_Create",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubAccountNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "subAccount_Create": {
+ "$ref": "./examples/SubAccount_Create.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SubAccount"
+ ],
+ "summary": "Get a sub account under a given monitor resource.",
+ "operationId": "SubAccount_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubAccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SubAccount_Get": {
+ "$ref": "./examples/SubAccount_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SubAccount"
+ ],
+ "summary": "Delete a sub account resource.",
+ "operationId": "SubAccount_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubAccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Success",
+ "headers": {
+ "location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "SubAccount_Delete": {
+ "$ref": "./examples/SubAccount_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SubAccount"
+ ],
+ "summary": "Update a monitor resource.",
+ "operationId": "SubAccount_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubAccountNameParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResourceUpdateParameters"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SubAccount_Update": {
+ "$ref": "./examples/SubAccount_Update.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}/accounts/{subAccountName}/tagRules": {
+ "get": {
+ "tags": [
+ "TagRules"
+ ],
+ "summary": "List the tag rules for a given sub account resource.",
+ "operationId": "SubAccountTagRules_List",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubAccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRulesListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SubAccountTagRules_List": {
+ "$ref": "./examples/SubAccountTagRules_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}/accounts/{subAccountName}/tagRules/{ruleSetName}": {
+ "put": {
+ "tags": [
+ "TagRules"
+ ],
+ "summary": "Create or update a tag rule set for a given sub account resource.",
+ "operationId": "SubAccountTagRules_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubAccountNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "ruleSetName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SubAccountTagRules_CreateOrUpdate": {
+ "$ref": "./examples/SubAccountTagRules_CreateOrUpdate.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "TagRules"
+ ],
+ "summary": "Get a tag rule set for a given monitor resource.",
+ "operationId": "SubAccountTagRules_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubAccountNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "ruleSetName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoringTagRules"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SubAccountTagRules_Get": {
+ "$ref": "./examples/SubAccountTagRules_Get.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "TagRules"
+ ],
+ "summary": "Delete a tag rule set for a given monitor resource.",
+ "operationId": "SubAccountTagRules_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubAccountNameParameter"
+ },
+ {
+ "in": "path",
+ "name": "ruleSetName",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Success",
+ "headers": {
+ "location": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TagRules_Delete": {
+ "$ref": "./examples/SubAccountTagRules_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logz/monitors/{monitorName}/accounts/{subAccountName}/listMonitoredResources": {
+ "post": {
+ "tags": [
+ "SubAccount"
+ ],
+ "summary": "List the resources currently being monitored by the Logz sub account resource.",
+ "operationId": "SubAccount_ListMonitoredResources",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/MonitorNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubAccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/MonitoredResourceListResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SubAccount_MonitoredResources_List": {
+ "$ref": "./examples/SubAccount_MonitoredResources_List.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MonitoredResource": {
+ "description": "The properties of a resource currently being monitored by the Logz 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 Logz.",
+ "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 Logz.",
+ "type": "boolean"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "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.Logz.",
+ "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.Logz REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name, i.e., {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of GET request to list the Microsoft.Logz operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations supported by the Microsoft.Logz 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"
+ }
+ }
+ },
+ "ProvisioningState": {
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Deleted",
+ "NotSpecified"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningState"
+ },
+ "readOnly": true
+ },
+ "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"
+ }
+ },
+ "LogzOrganizationProperties": {
+ "type": "object",
+ "properties": {
+ "companyName": {
+ "description": "Name of the Logz organization.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Id of the Logz organization.",
+ "type": "string",
+ "readOnly": true
+ },
+ "enterpriseAppId": {
+ "description": "The Id of the Enterprise App used for Single sign on.",
+ "type": "string"
+ }
+ }
+ },
+ "UserInfo": {
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "description": "First Name of the user",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "lastName": {
+ "description": "Last Name of the user",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "emailAddress": {
+ "description": "Email of the user used by Logz 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 Logz for contacting them if needed",
+ "maxLength": 40,
+ "type": "string"
+ }
+ }
+ },
+ "PlanData": {
+ "type": "object",
+ "properties": {
+ "usageType": {
+ "description": "different usage type like PAYG/COMMITTED. this could be enum",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "billingCycle": {
+ "description": "different billing cycles like MONTHLY/WEEKLY. this could be enum",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "planDetails": {
+ "description": "plan id as published by Logz",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "effectiveDate": {
+ "format": "date-time",
+ "description": "date when plan was applied",
+ "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"
+ },
+ "logzOrganizationProperties": {
+ "$ref": "#/definitions/LogzOrganizationProperties"
+ },
+ "userInfo": {
+ "$ref": "#/definitions/UserInfo"
+ },
+ "planData": {
+ "$ref": "#/definitions/PlanData"
+ },
+ "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"
+ }
+ }
+ },
+ "LogzMonitorResource": {
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "ARM id of the monitor resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "name": {
+ "description": "Name of the monitor resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the monitor resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/MonitorProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "type": "string"
+ }
+ }
+ },
+ "LogzMonitorResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogzMonitorResource"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "LogzMonitorResourceUpdateParameters": {
+ "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"
+ }
+ }
+ }
+ },
+ "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 subscription logs should be sent for the Monitor resource.",
+ "type": "boolean"
+ },
+ "sendActivityLogs": {
+ "description": "Flag specifying if activity logs from Azure resources should be sent for the Monitor resource.",
+ "type": "boolean"
+ },
+ "filteringTags": {
+ "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendActivityLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilteringTag"
+ }
+ }
+ }
+ },
+ "MonitoringTagRulesProperties": {
+ "description": "Definition of the properties for a TagRules resource.",
+ "type": "object",
+ "properties": {
+ "logRules": {
+ "$ref": "#/definitions/LogRules"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "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
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system metadata relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "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"
+ }
+ },
+ "LogzSingleSignOnProperties": {
+ "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 Logz Organization.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ }
+ },
+ "LogzSingleSignOnResource": {
+ "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
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/LogzSingleSignOnProperties"
+ }
+ }
+ },
+ "LogzSingleSignOnResourceListResponse": {
+ "description": "Response of a list operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Results of a list operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogzSingleSignOnResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results, if any.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "MonitorNameParameter": {
+ "in": "path",
+ "name": "monitorName",
+ "description": "Monitor resource name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SubAccountNameParameter": {
+ "in": "path",
+ "name": "subAccountName",
+ "description": "Sub Account resource name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/logz/resource-manager/readme.az.md b/specification/logz/resource-manager/readme.az.md
new file mode 100644
index 000000000000..1001ad1b4184
--- /dev/null
+++ b/specification/logz/resource-manager/readme.az.md
@@ -0,0 +1,28 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage.
+
+``` yaml $(az) && $(target-mode) != 'core'
+az:
+ extensions: logz
+ namespace: azure.mgmt.logz
+ package-name: azure-mgmt-logz
+az-output-folder: $(azure-cli-extension-folder)/src/logz
+python-sdk-output-folder: "$(az-output-folder)/azext_logz/vendored_sdks/logz"
+# add additional configuration here specific for Azure CLI
+# refer to the faq.md for more details
+```
+
+
+
+This is for command modules that already in azure cli main repo.
+``` yaml $(az) && $(target-mode) == 'core'
+az:
+ extensions: logz
+ namespace: azure.mgmt.logz
+ package-name: azure-mgmt-logz
+az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/logz
+python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/logz"
+```
\ No newline at end of file
diff --git a/specification/logz/resource-manager/readme.azureresourceschema.md b/specification/logz/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..9176cbfba567
--- /dev/null
+++ b/specification/logz/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-logz-2020-10-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-logz-2020-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-logz-2020-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Logz/preview/2020-10-01-preview/logz.json
+
+```
diff --git a/specification/logz/resource-manager/readme.cli.md b/specification/logz/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..c6cf6ad37ea4
--- /dev/null
+++ b/specification/logz/resource-manager/readme.cli.md
@@ -0,0 +1 @@
+## CLI Common Settings for all the command line tools
\ No newline at end of file
diff --git a/specification/logz/resource-manager/readme.csharp.md b/specification/logz/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..97be282a6d23
--- /dev/null
+++ b/specification/logz/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.Logz
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/logz/Microsoft.Azure.Management.Logz/src/Generated
+ clear-output-folder: true
+```
diff --git a/specification/logz/resource-manager/readme.go.md b/specification/logz/resource-manager/readme.go.md
new file mode 100644
index 000000000000..ebad2e11366f
--- /dev/null
+++ b/specification/logz/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: logz
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-10-01-preview
+```
+
+### Tag: package-2020-10-01-preview and go
+
+These settings apply only when `--tag=package-2020-10-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2020-10-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-10-01-preview/$(namespace)
+```
diff --git a/specification/logz/resource-manager/readme.md b/specification/logz/resource-manager/readme.md
new file mode 100644
index 000000000000..1a40e3e6e77a
--- /dev/null
+++ b/specification/logz/resource-manager/readme.md
@@ -0,0 +1,83 @@
+# logz
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for logz.
+
+## 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 logz.
+
+```yaml
+openapi-type: arm
+tag: package-2020-10-01-preview
+```
+
+### Tag: package-2020-10-01-preview
+
+These settings apply only when `--tag=package-2020-10-01-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-10-01-preview'
+input-file:
+ - Microsoft.Logz/preview/2020-10-01-preview/logz.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-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js logz/resource-manager
+ - repo: azure-cli-extensions
+```
+## Az
+
+See configuration in [readme.az.md](./readme.az.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
diff --git a/specification/logz/resource-manager/readme.python.md b/specification/logz/resource-manager/readme.python.md
new file mode 100644
index 000000000000..014cd995b65e
--- /dev/null
+++ b/specification/logz/resource-manager/readme.python.md
@@ -0,0 +1,22 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-logz
+no-namespace-folders: true
+package-version: 1.0.0b1
+```
+
+``` yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/logz/azure-mgmt-logz/azure/mgmt/logz
+```
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/logz/azure-mgmt-logz
+```
diff --git a/specification/logz/resource-manager/readme.typescript.md b/specification/logz/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..58f9a1acba0a
--- /dev/null
+++ b/specification/logz/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=